1

I am a beginner Apple developer and I have some issues I would like to resolve.

First of all, I am curently working on Xcode 3.2.6 because I haven't enrolled for the developer program yet. I would like to know if Apple only accepts apps (for the App Strore) compiled on SDK 4. Secondly, I want my apps to work both on iPhone 3 and 4. What would you advice me to do? I have read in several developer forums that in order to achieve this I have to build my application with 3.1 iOS as a target. Is this correct? Finally, is there any problem due to the difference in resolution between iPhone 3 and iPhone 4? Which resolution do you think I should use?

Thank you in advance, Cherry

CherryBrandy
  • 55
  • 1
  • 6
  • Read this [answer](http://stackoverflow.com/questions/3027120/how-to-make-iphone-app-compatible-with-multiple-sdk-firmware-versions/3027213#3027213) about compatibility with multiple iOS versions – progrmr Sep 03 '11 at 19:11

2 Answers2

2
  • Set Base SDK to latest (4.3).
  • Set Target SDK to 3.1.
  • Avoid features available only in iOS 3.2 or later (e.g., don't use blocks, don't frameworks introduced in iOS 3.2 or later, always check availability of methods). Later, when you get more experience with Objective-C, you may try to combine features of more modern iOS, but still keep compatibility with older iOSes.
  • Don't worry about resolution. It affects only images – if you want to take full advantage of Retina display, then you will need to create images for both resolutions (std. and hi-res).

P.S. I suggest you to avoid support for iOS 3.2 or earlier. iOS 4 introduces a lot of nice and helpful features. And I pretty sure, Apple will revoke support for iOS 3.x soon after iOS 5 release.

gcamp
  • 14,622
  • 4
  • 54
  • 85
Aleksejs Mjaliks
  • 8,647
  • 6
  • 38
  • 44
  • Many devices are stuck at 3.1.3 and can't upgrade but the still buy apps. Your choice to support them or not. – progrmr Sep 03 '11 at 19:18
  • Only iPhone (original) and iPod touch (1st gen) can't upgrade to iOS 4.*. All other devices can be upgrade at least up to iOS 4.2. – Aleksejs Mjaliks Sep 04 '11 at 15:03
1

If you are aiming for iOS 3, you will end up not using the features of iOS 4, which is the majority.

This is Apple's statement.

Target the latest iOS release.

Targeting the latest release allows you to take advantage of all the features 
available in the latest version of iOS. However, this approach may offer a smaller 
set of users capable of installing your application on their devices because your     
application cannot run on iOS releases that are earlier than the target release.`

Target an earlier iOS release.

Targeting an earlier release lets you publish your application to a larger set of 
users (because your application runs on the target OS release and later releases), 
but may limit the iOS features your application can use.`

But I would suggest that you target the iOS 4 as people are now targeting iOS 5, and in another 8 months, I am sure Apple would release iOS 6 (They are very quick with their updates), and I personally feel that targeting iOS 3 is not going to give you great results in the long run.

gcamp
  • 14,622
  • 4
  • 54
  • 85
Legolas
  • 12,145
  • 12
  • 79
  • 132
  • Only 10-15% of devices currently run 3.x, but I still support it in my apps by only using 4.x features when they exist on the device. – progrmr Sep 03 '11 at 19:16