开发者

Missing Frameworks iOS 4.0

I've just update开发者_StackOverflow社区d xcode to release 4.0. A lot of the frameworks in my App are now highlighted in red, they appear to be missing. i.e. MapKit.framework

Is 4.0 not backward compatible with 3.1.3 ?

Regards, Stephen


If your project is working with 3.1.3 well, then do the following: 1. In XCode left pane, select your project name, right click (control click) and select "Get Info". 2. In Build tab, change the Base SDK to iPhone Device 4.0 (your latest downloaded SDK) 3. Similarly also repeat above steps after selecting "Project" menu -> Edit active target.

Then close your XCode and restart XCode. All your frameworks will be available now.


However this change (by itself) will prevent your app from loading on a 3.1.x device. That's because the new setting "iOS Deployment Target" (introduced with the 4.x SDK) will default to the same value as the Base SDK you just set. You have to change this new setting (it's in the "Deployment" group) to the earliest iOS device your app will support.

Now your app will run on any device running that version or later of iOS. But there's a new wrinkle. If you add code to your project that uses classes or methods introduced in 4.x, you'll get no warning of that in the Simulator, yet it will crash when called by your 3.x device. You have to wrap such calls with code that tests the runtime version of the device, and only make the calls if the runtime version supports those calls.

This is all discussed in detail here: Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs, which includes links to discussions of how best to code these runtime checks.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜