I compiled an application for iOS 3, Will it run on iOS 4? Or do I send 2nd version of the application to App Store?
It will run, but won't take advantage of the new stuff in iOS4. Otherwise, lots of apps currently in the AppStore that haven't been updated wouldn't work on the new iPhones.
It doesn't really matter any more. Apple is currently only accepting applications and updates built against iOS 4.0 for the App Store:
Make sure that your applications are
compatible with iOS 4. All new
applications and updates to existing
applications must be built with iPhone
SDK 4. In addition, the App Store will
no longer support applications that
target iOS 2.x.
It's my understanding that a 3.x-only application will now be rejected. However, it is trivial to ensure that your 4.0-built application will run on 3.x devices by setting the Deployment Target to 3.0 (or later).
Related
I've uploaded the 2.0 version to the appstore having to support both iPhone and iPad.but the previous version does supports only iPhone. This version having the resolution issues in the iPad. I've created the version 3.0 for iPhone only, but the iTunes connect is not accepting this build and saying that " This bundle does not support one or more of the devices supported by the previous app version. Your app update must continue to support all the devices previously supported.You declare supported devices in Xcode with the Targeted Device Family build setting."
any one please suggest me the best solution.
You can't change an app from universal to iPhone or iPad only once it has been approved and was live in the App Store. Your only option is to remove the app from the App Store completely and submit a new one that's iPhone only but then you lose most of your customers probably.
I'd suggest that you just solve whatever issues you have with the universal version as soon as possible and submit an update.
I am new to iphone app development and am wondering which deployment target to use (as ios 6 approaches). My app is simple (http web service interaction, map) and my natural inclination is to target 3.1 to maximize potential use. However, I understand that ios 6 will soon be available to all iphones and I presume it will be widely adopted.
So, if I target 5.1 today, will my app be available to most, if not all, iphone users once ios 6 is released?
Right now, requiring a minimum of 5.1 is a bit bold in my opinion, but that depends on your app. It is customary to support the current version and the previous major release.
If you want to expand your target, you may considering going back to 4.3 or even all the way down to 4.0. But 3.x is practically obsolete. but:
Warning: Don't target a version you can not test on device. If you don't have a device running 4.0, testing your app only on the 4.0 simulator is not recommended (although perhaps it is OK. No assurance).
The iPhone 3G can run up to iOS 4.2.
All other phones and iPads can run the latest OS (5.1.1)
Not sure about iPod Touch devices but 3rd (and 4th) gen. should run iOS 5.
You can use 5.1.1 as deployment target if it is available to your menu.. if not 5.1 is best for your needs for now.
This way all (Who have not updated to IOS 6) can use your app...
Best luck for app development.
I am trying to distribute an iPhone App to the App Store for the first time. Currently, I am following this guide: Submitting iPhone Apps To The Apple App Store – A Step by Step Guide. Currently, I am on the step where I have to set the Base SDK field value. See, the screenshot.
As you can see, iOS 5.1 is the only choice available there. Now, if I set it as Latest iOS(iOS 5.1) - the default value - will the distributed app will be able to run on older OS's, for example iOS 3 or iOS 4? If not, then what will I do to make it run on older OS. Or, is there anything I misunderstood about BaseSDK?
No worry it will function in the older os you need to keep the deployment target minimum SDK which you can find in the picture if you updated the xcode with simulators of IOS 4 and 5 you can get these options
Update
Basically it means that you're going to be able to use all the API that is public in 5.1 SDK. This has nothing to do with "Which phone your app can run on".
iOS deployment target on the other hand, is asking you which devices can this app run. This is quite a dangerous question, since you can then say from iOS 3.0 to 5.1 for example. This means that your app can be installed in any iPhones running iOS 3.0 to 5.1, no matter what the phone is. That means the original iPhone and iPhone 3G can run your app if they have at least iOS 3.0 installed. You should test your app carefully if you decide to do this. Apple does not provide any way to test on older OS. You'd have to devise that strategy yourself.
I just submitted my app for distribution, when it showed the following message:
"The binary uploaded for the latest version of this app indicates that iOS 4.3 or later is required. Apps that require iOS 4.3 or later will not be available to Verizon iPhone users. If this app could be compatible with earlier iOS versions, you may want to reject the binary and upload a new one that indicates the earliest compatible iOS."
I would like to make the app verizon compatible, if the process is quick.
If I just change the IOS deployment target on my project to 4.0, should it be ok?
Thanks.
It should, if you haven't used some too recent features obviously.
Update: here's a checklist from the official docs of what's new in iOS 4.x
Game Center
Printing
AirPlay
Various enhancements (iAd, Media player, etc...)
It depends what frameworks and other features you are using with your app and whether they are compatible with iOS 4.0. If there are features not compatible, you might be able to disable them for earlier versions, using "weak linking". If possible, test your application on a device using an iOS version earlier than 4.3.
I am about to send an iPhone application to the app store, my question is: If I want my application supported by both IOS 4 and IOS 3.2... whats the plan ?
Cheers
Set the Base SDK to iOS 4.0.
Set the Deployment Target to 3.2.
Make sure to check for the existence of any 4.0-only features you use at runtime. Otherwise your app will crash when it runs on 3.2.