views:

69

answers:

2

I want to build an app that is compatible with iPod touches, iPhone 3g, iPhone 4, iOs3.0, etc... Everytime I build on a 3GS, I use these build settings Architectures: Standard (armv6 armv7) Build Active Architecture Only (Unchecked) Valid architectures (armv6 armv7) And I select armv7 as the active architecture before I build.

However for 3G, I check the build active architecture only box and build under armv6.

When I submit to the app store, will it matter what my build settings are for the final build? I noticed that the 3G settings work for the 3GS and 4, along with iOS 4.0. Should I just build active architectures only and select armv6 for the final build before submission?

Edit: Which architecture should I select when building for distribution. armv6 or armv7? Will armv7 still build on iPhone 3G when distributed on the App Store?

A: 

It seems you need to read a bit about the Base SDK and Target SDK. It can be a bit confusion, your right. There is a very nice article at: Developing iPhone Apps with iOS4 SDK, Deploying to 3.x Devices

You should have no problem in making an app that runs on all the devices you want. I hope it helps.

Thomas Børlum
I don't think that's the issue. I understand how to build an app for iOS 3.0 - 4.0. However, my build settings differ when I have to build on an iTouch or 3G as I mentioned above with the active architecture types. My question is whether I used build with Active Architectures Only checked and under armv6, or Uncheck the box and use armv7 which doesn't seem to work for iPhone 3G
Alvin Heng
I've also found [Apple's SDK Compatibility Guide](http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/cross_development/Introduction/Introduction.html) useful.
Jon-Eric
+1  A: 

You need to set the "iPhone OS Deployment Target" for your project. Go to Project -> Edit project settings. Scroll to the "Deployment" section and change "iPhone OS Deployment Target" to iPhone OS 3.0 (or lower if you like).

Merrimack