views:

562

answers:

3

Hello I have recently uploaded an application to the app store and it got approved. The issue is the application has been compiled using the 3.1 sdk, and thus is not working on 3.0 devices. Would there be any problems if i resubmitted the application compiled using the 3.0 sdk? (I want to support 3.0 because a lot of people still have not upgraded their devices, and I don't have any feature that differ between 3.1 and 3.0)

A: 

You can compile your app using whatever version you like. It just has to run on 3.1. This answer is somewhat related as to what you can compile with versus what you have to test against for compatibility.

mikestew
+1  A: 

You can resubmit to 3.0 if you wish, I remember the NYTimes application was at 2.2.1 and a future update released as 2.2 since a large number of people were still using 2.2. So long as your application has been tested to work properly on 3.0 and the 3.0 binary works on 3.1 you'll be fine. Just you'll need to wait for the approval process again.

David Wong
+3  A: 

Depending on whether or not you're using any APIs that are restricted to version 3.0 or 3.1 you should set your base SDK as the highest version that the latest official SDK supports (not beta SDKs).
After doing that, you should then set your deployment target in your build settings to the lowest version of iPhone OS that you want your app to run on.

So if you're not using any API's that are specific to 3.0 you could compile against the 3.0 SDK and then set your deployment target to 2.0.

This way you benefit from most of the bug fixes brought along in the SDK update, but still retain the wide user base of people who didn't upgrade.

Jasarien
Even if you ARE using APIs introduced in 3.0, you can conditionally check for their existence in your code and act accordingly (so your app could gracefully degrade when run on older versions of the iPhone OS).
Elliot