I am developing an iPhone-App that should run not only on new iphones, but on old devices as well. So for testing, I did load a provisioning profile to my old iPhone 3G (iOS 4.2.1) and connected it with my mac. In Xcode I also did set iOS Deployment Target to 3.0. With this settings, the app runs on an iPhone 4, but not on my old iPhone 3G.
I know that I also must set architecture from armv7
to armv6
, but when I enter "armv6" it jumps back to "armv7".
So, what must I do, to be able to test new apps on old devices? What values must I enter, and WHERE must I enter them? Do I need to download some addon for the actual SDK?
We are testing applications on iOS 4 and 3 for some applications at my work and normaly the two key point are the arm achitecture and the deployment target as you already point out.
First, if you have multiple target, make sure you have the correct configuration everywhere.
Secondly, you pointed out that the armv7 "jumps" back to armv6. It shouldn't happen. Make sure you enter this field correctly with "armv6" on the first line and "$(ARCHS_STANDARD_32_BIT)" on the second line of the popup.
Finally, do you have any warnings or message in you console when you try to lauch the application ?
How exactly did you enter "armv6"? And where did you enter it - Hubert Schölnast 2012-04-05 18:39
Command /usr/bin/lipo failed with exit code 1
I haven't had any trouble with a 3GS running 4.2.1 but the 3G on 4.2.1 is the problem - Mark 2012-04-06 00:54
I was able to get a couple apps to run on a 3G/4.2.1
One thing I did differently this time was select Combined
instead of Levels
under Build Settings
. That may very well have made the difference. Just make sure you also remove the requirement for armv7 in the plist file - Mark 2012-04-06 03:57
XCode comes with an iOS simulator... You should be able to test from iOS 3.2 - 5.1
If you don't already have it go to the update manager in XCode and download the iOS 5.0 simulator.