Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

chainprayer

macrumors 6502a
Original poster
Feb 10, 2008
638
2
My first iPhone app was approved today (yay!) but I encountered an unforeseen problem. My app is only compatible with iPhone version 1.3.1. If I compile it using the 3.0 device binary will it be compatible with 3.0+? How can I make it even more backwards compatible? Can I go back to 1.0 so everyone can get it? (its a very simple app that should work with that version)

Thanks! So excited to be in the app dev community :D
 
My first iPhone app was approved today (yay!) but I encountered an unforeseen problem. My app is only compatible with iPhone version 1.3.1. If I compile it using the 3.0 device binary will it be compatible with 3.0+? How can I make it even more backwards compatible? Can I go back to 1.0 so everyone can get it? (its a very simple app that should work with that version)

Thanks! So excited to be in the app dev community :D

There is no sdk for 1.3.1.
The first sdk that came out was for 2.0, but right now you can be pretty certain targeting 3.0, and yes 3.0 works for 3.0+.
 
My appologies... I meant 3.1.3 not 1.3.1... long day at work heh.

The only options i have for debug, release, and distribution are 3.1.3.... how can I downgrade to 3.0?

Thank you MR!
 
You need to set the iPhone deployment target to the minimum OS you want to support and the Base SDK to the target OS. Then you need to test on all the OSes between the min and max.
 
How can I make my app compatible with 2.0+? I know the previous sdk was out but I don't see the option in xcode. I appreciate the help!
 
When using the Xcode 3.2 SDK final I can set iPhone OS Deployment target to any OS from 2.0 to 3.2. There are nine OS choices.

You should be able to do the same.
 
I want to make it compatible with as many people as possible. If I compile it under 2.0 will it still work up to the current os version? I would rather have it work from 2.0 to current rather than 3.0 to current.
 
In the end you'll have to test on devices with all the OSes that you support. Since there are only three devices in the known universe running OS 2.0 you will have difficulties.

There's no reason at all to support any OS older than 2.2.1, and no good reason to support any OS older than 3.0.

There is a difference between building with a Deployment target of 2.2.1 and a Base SDK of 3.1.3 and building with a Base SDK of 2.2.1, but it's a subtle difference. You're better off doing the latter and testing to find any problems. You have to do the testing anyway.

Problem is the current tools don't allow you to build with a Base SDK of less than 3.0.
 
There is a difference between building with a Deployment target of 2.2.1 and a Base SDK of 3.1.3 and building with a Base SDK of 2.2.1, but it's a subtle difference. You're better off doing the latter and testing to find any problems. You have to do the testing anyway.
Care to elaborate? Why would you need to test using a Base SDK of 2.2.1?
 
Care to elaborate? Why would you need to test using a Base SDK of 2.2.1?

What I was referring to was that there are binary incompatibilities if you build with gcc 4.2 and run on 2.x. Any app may or may not run into them (I had an app that failed to run in one case.) So I was suggesting that building using the older tools and then running on the newer OS is better than building with the newer tools and running on the older OS. I'm sure the people at Apple would disagree. They hate the old OS and dropped support for it in their tools as soon as they could.

Maybe it's better to build with the newer tools and just be sure to test thoroughly on the older OS.

Actually I will recommend that new code should not be written to target the old OS. It's just too much hassle and I don't think there are many users on 2.x anymore. At least not the kind that actually pay for software. That's why I said
There's no good reason to support any OS older than 3.0.
 
Wirelessly posted (Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16)

Thanks for expanding on that. It's not that I was disputing what you were saying; I was curious as to your reasoning. I feel I understand it better now.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.