I have an application that was originally created compatible with iOS 2.x. With Xcode not supporting 2.x anymore, I was forced to make it compatible with 3.x.
The app works beautifully on iPhone 3G, 3GS and 4, but some buttons are vanishing on iPod Touches 2nd Gen.
My theory is that these devices are using iOS < 3, so my questions are:
The only thing I did in my project is to set DEPLOYMENT TARGET to iOS 3.
1) Is there anything I have to add in the plist to block 2.x devices?
2) is that possible that these persons were able to download and install the new 3.x release even owning devices that don't support it?
3) UIKit was made required. Do I have to make it leak?
thanks.
if you want to target devices with OS < 3, you need to set your deployment target to less than 3..(2.2.1 probably?) however i believe in the latest Xcode this is not allowed, so you are basically out of luck on reaching OS < 3.
On a side note: admobs statistics reported almost a year ago that about 98% of iphone/ipod touch users are running atleast iOS 3.0.
Related
Okay, I know what your thinking why, right? My employer wants me to work on their app and submit it to Apple, but I told him the app has to be wrote in the most up to date OS. Does anyone know where you can find a something that states your, iphone App must have the most up to date OS? He would to have some concrete proof, before they restart their project. I'm like 90% sure your app has to have the most recent OS, but I also am having troubles finding something from apple that says that.
thanks
Starting tomorrow (May 1st), all new apps and app updates must fully support the taller screen of the iPhone 5 and 5th gen iPod touch. In order to do this you need to be using Xcode 4.5 or later with a Base SDK of 6.0 or later. And this in turn means that the oldest Deployment Target you can support is iOS 4.3.
See https://developer.apple.com/news/ and look at the news items from March 21.
So you can still support iOS 4 but it must be 4.3 and later. You must have full retina support on all devices you support and you must fully support the taller iPhone/iPod touch screens.
To be honest, supporting 4.3 is virtually pointless at this point in time. Any device that can run 4.3 can run 5.1. And except for the iPad 1 and 3rd gen iPod touch, any device that can run iOS 5 can run iOS 6. So basically, there is no reason to support anything before iOS 5.1. Any user running 4.3 or 5.0 can update to at least 5.1 if not the latest 6.x.
In other words, starting May 1st, 2013, no new apps or app updates can support the iPhone 3G or older, or the first 2 iPod touches.
BTW - the following Wikipedia page has a good chart about what versions of iOS run on the different devices: http://en.wikipedia.org/wiki/List_of_iOS_devices
I started building an iOS app with xCode 4.3.2 , using armv6 and armv7 instruction sets. My deployment target is iOS5.1 . Now that iPhone 5 is released, and xCode 4.5 drops support for armv6, and replaces it with armv7s , what is the correct approach to submitting apps to the app store?
I'm afraid that if I submit the app incorrectly, the app store review team would try to launch the app on iPhone 5, running armv7s , and the app would not run.
Should I update to xCode 4.5, and build my apps against iOS6 now, even though I do not have an iPhone 5 to test it on?
Thank you for any clarifications.
Should I update to xCode 4.5, and build my apps against iOS6 now, even though I do not have an iPhone 5 to test it on?
You can submit an app that does not exploit the iPhone specific features (namely, the taller screen). If your app works on iPhone 4, then it will work on iPhone 5, although in a special mode where the visual content of your app is centered on screen, with black bands both above and below it.
On the other hand, you can use the Xcode 4.5 simulator to ensure that your app works on iPhone 5, if you are worried about it. Then you could change your code base to make it run on iPhone 5 and still provide an official build for the App Store made with Xcode 4.3. This is good for all except performance tuning and fixing memory management issues; but you can work on those points on your current iPhone/iPad, whatever.
With Xcode 4.5, Apple decided to make a move towards discontinuing support for older devices: the original iPhone, iPhone 3G, and the first two versions of iPod Touch. So, if you want to support iPhone 5, you will be forced to discontinue support for those devices. I don't think it is a big issue, although I myself have got an old iPod Touch 2nd Gen and I cannot foresee a bright future for it.
If in doubts about supporting iOS5 vs. iOS6, you could also have a look at this other post.
Hope this helps.
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 building an iOS application for public release, and I would like to develop it against iOS 4, as I see from the instapaper stats from November that iOS 5 has a 48% market share, which is good, but my app will probably not be used by these early adopters, and it's probably not going to be enough to force them to upgrade.
The issue is that I only have an iPhone 4S, which shipped with iOS 5. I have been unable to find an iOS build for my 4S, which upon reflection makes sense. Nontheless, I'd like to know if there is some sort of unofficial build for the 4S or some way to make the iPhone 4 version work on the 4S.
I'm pretty sure that the answer is going to end up being "Buy a 3GS/iPod touch for development". Would that necessarily be worth it or should I just tough it out? I'm pretty sure that most iOS 4 users will upgrade eventually. Does anyone have any stats on how long it took iOS 3 users to move on?
I would still suggest getting a used iPhone 3GS. Even if you are able to install iOS 4 on the 4S you still wouldn't be able to do any performance testing, but it's highly likely that someone who still uses iOS 4 has a 3GS.
For your first cut testing, you can use the simulator which, will allow you to test for iOS 4.3
Ideally you need to get hold of the appropriate devices to test your app. You say you're supporting iOS 4, but do you mean 4.2 or 4.3? If 4.2 then you'll be supporting iPhone 3G, if 4.3 then 3GS upwards.
There are testing services out there, just search "iPhone testing services". I've never used them myself, so can't vouch for any of them, but the cost may be less than investing in actual devices.
I kept a 3G and 3GS for testing, but to be honest, even though my main app supports 4.2, I rarely do any testing for older OS versions outside the simulator. I gave the 3GS to my father on condition he tested for me when asked… but of course I had to upgrade it to iOS 5 for him, so it's of little practical value, apart from testing at different screen res.
I would suggest you develop your app with minimum version 4.0 (or other) set. Then you test that on your iOS 5 iphone. I did it with my apps and it works great.
You can test on the lower version simulator or for final testing you could borrow a friend's device or similar.
As I understand (and believe), the compiler would stop you if you included features that are not 4.0 (or the set version) compatible.
Buying lower iOS is not worth it. If you can you should borrow it. In the simulator you can also make the iOS version to lower version to test. Also you can try ad hoc distribution to check how your app performs on other ios before releasing on appstore
I've been having trouble getting my app to run in this configuration. Has anyone figured out how to do this? Currently, my app doesn't even show up when I try to run on the device.
iOS5 is not supported by iPod Touch 2nd Gen.
No wonder why you're having trouble ;)
You should set Deployment target of your Project to lower firmware version (f.e. 4.3), because iOS 5 is still beta, we are not allowed to run the aps on it.