- Home /
Unity iPhone - Player Settings - iPhone SDK Version (missing)
Hi all,
Since upgrading my phone to OS 4.0 and updating Xcode and the iPhone SDK to the latest build, when I try and build and run from Unity, Xcode now has errors which states "Base SDK Missing". If i create a brand new Xcode project from scratch, it sets it just fine to 4.0
I figured to overcome this issue i would just need to go to Unity player settings and adjust the iPhone SDK Version to the new 4.0 but of course, it doesn't exist as an option. I seemingly have the most up to date version of Unity, so does anyone have any advice on how to overcome this problem? Also, i'd prefer to be able to build for compatibility with 3.x. Is this no longer possible? Will setting the SDK version to 4.0 mean anyone still on 3.x, won't be able to run my app?
Thanks
Mat
Answer by Tetrad · Jun 24, 2010 at 02:37 PM
Your project probably had a base SDK version of 2.x or so. The new SDK doesn't go back that far. Just change your base SDK version in Unity to like 3.1.3 or something, you should be fine.
To answer your last question, setting your SDK version to 4.0 would mean that you need 4.0 to run your game, unless you set your deployment target option to an earlier version. This is what people did to get 3.x features running for people with those operating systems but could still run on 2.x devices: http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
You shouldn't really need to worry about that, though, unless you are using some OS 4.0 specific feature.
Thanks, I had to set it to 3.2 in order for it to work... however, this seems to have introduced a new issue which I guess is unrelated to the original question. I'm now getting an Xcode error, "SIGBUS" which others have suggested is due to a null reference exception not picked up by Unity. Thanks for your help with the original question.
Answer by sharmoni · Jun 29, 2010 at 02:16 AM
I had this problem with the new Unity 3 Remote. Of course I couldn't rebuild it. A member of MacRumors Forums posted the solution:
In the Xcode project window click on the box that says "BaseSDK Missing" while holding down the option key and you will see a list of SDKs. Choose the one you want and the project will then build correctly.
You'll still need to check the settings in Info under General and Build to make sure they match the SDK you've selected.
I was able to install the Unity 3 Remote on both my iPhone 4 and my iPad.
Answer by Mantas-Puida · Jul 05, 2010 at 07:24 AM
You can select "Unknown" SDK in Player Settings and in such case Unity Editor won't touch active SDK of your Xcode project. (So your manual selection of SDK in Xcode will remain between builds).
Answer by Geoff Coope · Oct 14, 2010 at 01:52 PM
Hi
I also had this problem in Unity 3 but from the XCode end as it is trying to load an older 4.0 SDK when I installed the 4.1 SDK
I got Base SDK missing errors.
Here is how I got it to work work:
After doing build & run from unity, XCode should have opened with its error:
Choose Project --> Edit Project Settings. When a dialog appears, click the Build tab and change the value in the Base SDK from <4.0 missing> to iPhone 4.1.
Choose Project --> Edit Active Target. When a dialog appears, click the Build tab and change the Base SDK option again
After doing that I could then Build & Run in XCode and after about 20 seconds the game (Penelope in this case) popped up on my iPhone all working perfectly.
This is a documented bug by apple in the sdk. It actually has nothing to do with unity. If you log into the your developer.apple.com and go to the new iOS beta sdk you can see the release notes. In the notes apple explains the problem.
Answer by time_miner · Jan 29, 2011 at 08:12 AM
Hi,
After updating my iPhone to iOS 4.2 I began having the "Base SDK Missing" error in Xcode. I downloaded and installed the latest Xcode & iOS SDK (4.2), but continue to have issues with "Base SDK Missing" in Xcode...
I have had limited success following the solutions outlined above and throughout the web; however, now building my Unity project over wrights the Unity-Remote app on my phone!
This has been frustrating to resolve, and there seems to be no straight forward answers. Way too much ambiguity!
Thanks for your time