I just set up a new macbook pro, installed xcode and the latest iphone SDK; However, I have an iPhone app that needs to target the 2.0 SDK.
I have 2.2.1, 3.0, and 3.1 available in xcode, but for the life of me cannot figure out where to get 2.0. I have scoured the iPhone Dev Center without any luck.
The latest SDK allows you to target older versions.
You specify the SDK Xcode uses to build your application in your project’s Base SDK build setting, which you can set in:
Project > Edit Project Settings > Base SDK for all Configurations
alt text http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/art/project_info_general_base_sdk.jpg
Read this Apple page for more info.
I think it comes with the current X-Code but its only optional on installation. I could be wrong, I just installed X-Code last week and I think there were older SDKs available.
Related
I'm trying to build my Xamarin Forms app for the Apple store using Xamarin Studio on my MacBook. This worked fine until recently.
The only options available to me on the SDK version dropdown on the iOS Build tab are Default and 8.3. If I build using either of these and try to upload to the store I get the following error:
ERROR ITMS-90068: "This bundle is invalid. The value provided for the
key MinimumOSVersion '8.3' is not acceptable."
I guess this is due to updating all Xamarin and Xcode components to their latest versions recently.
I'm trying to figure out how to get the 8.2 SDK back.
I tried downloading the iOS 8.2 Simulator from Xcode > Preferences > Downloads but that doesn't seem to have added anything in the Xamarin SDK version dropdown.
Any ideas?
You're confusing the SDK version used to build your app with and the minimum iOS version your app requires.
It's perfectly possible to build an app using the iOS 8.3 SDK and target iOS 5.1.1 for instance.
You need to set the minimum iOS version for your app instead of changing the SDK version; this is done in the project's iOS Application options, by setting Deployment Target to your app's minimum iOS version.
This is what I did to resolve the issue:
Right click on the .iOS project > Options
Set Build > iOS Build > Link behaviour to Link Framework SDKs Only.
I have a developed application and the code is compiled using Xcode 4.6 and executes on iPhone with IOS version 6.1.3 . That's all OK.
Now I am requested to test it on the iOs 7.0 or later version . Then I upgrade all needed stuff , including xcode, mac OS version ,etc. (I have to upgrade them because the original version of xcode complains of the failure that it can not compile and debug on ios7.0)....
When I try to build the code using the latest combined versions and run on ios7.0, the application is dysfunctional and the problems are mainly related to GUI-related.
But the application with xcode 4.6 built can normally run on IOS 7.0.3 phone. So I think it is feasible for the legacy code/SDK to run on ios 7.0.3. Currently, I don't have plan to upgrade the code to optimize for ios7.
So My question is : How can I test/debug this application on iOS 7 or later ?
Thanks alot
Daniel
If i am not getting wrong understanding from your question...And what you want is this..
You don't want to build your application using iOS 7 base sdk (You were using iOS 6 base sdk on xcode 4.6).
But you want to use latest xcode with old SDK 6.1 etc and test apps on iOS 7 Devices/Simulators
Here is solution...
You just need to copy 6.1 SDK(or older) from your old xCode(4.6) to latest xcode(5.x) sdk folder and set base sdk to 6.1 SDK(or older one) in project setting.
This will let you run your app on devices with iOS 6.x or lower as they were running before also lets you test your app on iOS 7 devices without compiling with latest iOS 7 SDK.
To achieve this..
1. click on your xcode4.6 -> show package content , go to path
/Applications/Xcode_4.6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
This is where you will see older SDK you were using (6.1 etc). Now open same path for latest xcode 5.x and copy SDKs from old xCode path to new xCode path. OR Download it from Xcode preference -> Downloads.
2. Now go to project setting and set base sdk as iOS 6.x SDK
You can use Wireless AdHoc Distribution or simply build the IPA and install it through iTunes. Debugging it, however, is a bit more complicated. You will have to launch Instruments on its own and choose the already running process on the device.
I've installed Xcode 4.6 beta (which includes iOS 6.1 beta SDK) but do not wish to install iOS 6.1 on my (development) iPhone quite yet. What I'd rather do is continue developing with iOS 6.0.2 (or use the iPhone simulator instead).
Hence I've tried to download and install iOS 6.0.2 into XCode 4.6: indeed in its Organizer window both iOS 6.1 (by default) and iOS 6.0.2 (by this action) now do show up. However when I try to change the base SDK for my project (under its Build Settings) Xcode still seems unaware of the second choice: The only iOS-related choices available are iOS 6.1 and Latest iOS (i.e. again iOS 6.1).
How do I add (the installed) iOS 6.0.2 SDK to that list so I can select it as base SDK for my project?
P.S. My current understanding that this is different from that other (frequent) question.
P.S.S. Presumably nothing of this is specific to Xcode 4.6 as opposed earlier versions. Therefore I feel authorized to mention it even outside the confidentiality agreement, for its existence as such is clearly publicly known.
Try to set target to lower version !
How to ensure that we are not using latest SDK API?
lets say you have iOs 5.0 SDK installed, but you are developing app for iOS 4.0, how can we ensure that we accidentally dont use any latest API that would break backward compatibility?
You have to set the right deployment target on Xcode and build against the latest SDK.
Search for iOS Deployement Target setting on Build Settings tab within PROJECTS -> YourName. This will also change that setting on TARGETS -> YourName.
For further reference see Apple doc.
As hotpaw2 wrote in this stackoverflow topic
They won't be able to install and run the app (until they upgrade the
OS on their device to that of the Deployment Target or above). But
they might be able to buy and download the app using iTunes on their
Mac or PC.
Hope it helps.
Trying to set target's base sdk to iphone4 (3.2 on the screenshot) and build the project:
Just wondering, I have created an application and ran it on an iPhone 3GS using Xcode 3.2.6. No problems there. Now, I'm trying to run the same application but on a 3G iPhone. I need to lower the base sdk to at least 4.1 however my only options are 4.3. I can manually enter a number within the info.plist however then I just get base sdk missing.
I have already tried changing the base sdk under the architecture pannel, as well as the ios deployment target.
how can i get base sdk to become 4.1 in xcode 3.2.6??
Thanks,
Anthony
Please set the "Base SDK" to "Latest iOS", i.e. iOS 4.3 at this time.
Please set the "iOS Deployment Target" to the minimum iOS version you like, such as iOS 3.1.
Please get more details in the Xcode readme PDF file.