I am about to send an iPhone application to the app store, my question is: If I want my application supported by both IOS 4 and IOS 3.2... whats the plan ?
Cheers
Set the Base SDK to iOS 4.0.
Set the Deployment Target to 3.2.
Make sure to check for the existence of any 4.0-only features you use at runtime. Otherwise your app will crash when it runs on 3.2.
Related
I want to know whether iPhone Simulator version (i.e. iPhone 5.0 Simulator, iPhone 6.0 Simulator, etc) and Base SDK are related to each other or not?
So, if I develop an App with Base SDK 6.0 and if I test it on iPhone 5 Simulator - does it mean that I am testing it on device with iOS 5.0?
Please let me know.
Base SDK
The Base SDK is the version of SDK that will be used when compiling your application – the compiler will use the headers and libraries of this specific SDK.
iPhone OS Deployment Target
To specify which OS version is the minimum that your application will support, you set the deployment target. Your application will then run on this minimum OS as well as all later versions.*
For more info check this:-
Link
The base SDK is an indicator of what APIs your compiler will allow you to use. Deployment Target determins the minimum OS version this app will be allowed to run on. If they differ you need to make sure in code that you only use functions/classes/methods/symbols that already existed on the older OS. or else the app will crash with exceptions like "unrecognized selector"
Your question is imprecise: there is no "iPhone 5 Simulator". There is a Simulator app that can behave like a 4" iPhone 5 on a variety of OS version levels. The Simulator set to iOS 5.x will behave like a device with this OS version would.
Nope. With a base SDK of 6.0 means that you are using a simulator with iOS6.0 like for example if you were to deploy an application with base SDK 6.0 on your mobile device with iOS 5.1 and below, you will not be able to run it
I am trying to distribute an iPhone App to the App Store for the first time. Currently, I am following this guide: Submitting iPhone Apps To The Apple App Store – A Step by Step Guide. Currently, I am on the step where I have to set the Base SDK field value. See, the screenshot.
As you can see, iOS 5.1 is the only choice available there. Now, if I set it as Latest iOS(iOS 5.1) - the default value - will the distributed app will be able to run on older OS's, for example iOS 3 or iOS 4? If not, then what will I do to make it run on older OS. Or, is there anything I misunderstood about BaseSDK?
No worry it will function in the older os you need to keep the deployment target minimum SDK which you can find in the picture if you updated the xcode with simulators of IOS 4 and 5 you can get these options
Update
Basically it means that you're going to be able to use all the API that is public in 5.1 SDK. This has nothing to do with "Which phone your app can run on".
iOS deployment target on the other hand, is asking you which devices can this app run. This is quite a dangerous question, since you can then say from iOS 3.0 to 5.1 for example. This means that your app can be installed in any iPhones running iOS 3.0 to 5.1, no matter what the phone is. That means the original iPhone and iPhone 3G can run your app if they have at least iOS 3.0 installed. You should test your app carefully if you decide to do this. Apple does not provide any way to test on older OS. You'd have to devise that strategy yourself.
I compiled an application for iOS 3, Will it run on iOS 4? Or do I send 2nd version of the application to App Store?
It will run, but won't take advantage of the new stuff in iOS4. Otherwise, lots of apps currently in the AppStore that haven't been updated wouldn't work on the new iPhones.
It doesn't really matter any more. Apple is currently only accepting applications and updates built against iOS 4.0 for the App Store:
Make sure that your applications are
compatible with iOS 4. All new
applications and updates to existing
applications must be built with iPhone
SDK 4. In addition, the App Store will
no longer support applications that
target iOS 2.x.
It's my understanding that a 3.x-only application will now be rejected. However, it is trivial to ensure that your 4.0-built application will run on 3.x devices by setting the Deployment Target to 3.0 (or later).
I have been developing an iPhone app and now I am trying to build the binary.
I have noticed the base SDK is set to iPhone 4.0. Does this mean only iPhone 4.0 users can run the app?
I can change it to the lowest iPhone device 3.2, but how can I change the target so that I can test on the simulator in OS 3.2?
The Base SDK should be set to the latest iOS version you want to support. To also support older phones, set the “Deployment Target” build setting to the lowest iPhone OS version you want to support. Currently, I don’t believe you can set it to anything less than 3.0 and still get approved by Apple.
That's OS version, not hardware. You can adjust the deployment target and the base SDK to set up handling the differences between 3.x and 4.x APIs. A tutorial on how to do it is here:
http://iosdevelopertips.com/xcode/base-sdk-and-iphone-os-deployment-target-developing-apps-with-the-4-x-sdk-deploying-to-3-x-devices.html
I've recently updated xcode to 3.2 and to the iPhone SDK 4.0. I've submuitted the binary and my app is "waiting for review". However, my base SDK was set to iPhone Device 3.2 and I have been reading rumours that apps not submitted with iPhone SDK4.0 wont be approved. Is this correct? My deployment target is 3.0, but BASE SDK is iPHone Device 3.2. Thanks in advance.
If you see https://developer.apple.com/iphone/checklist/ Apple says:
All new applications and updates to existing applications submitted to the App Store must be built with iPhone SDK 4.
However I do know of people who have had 3.2-built apps accepted in the past week so it doesn't look like Apple is rejecting apps based on the SDK at the moment.
So if you have already submitted your app, I would wait and see what happens. Otherwise you should compile with the 4.0 SDK.
That should be fine, I submitted an app like this a week ago.
Base SDK 3.2 should be correct if you want you app to be compatible with iPads (they require 3.2). If I am correct I think you will find that the iPhone will be compiled 4.0.
John.