iphone - upgrading an application... what happens to customers? - iphone

I have an application that supports iOS 2.x.
I am about to revamp this app, but I need to make it at least 3.x.
What will happen to old customers? I mean, suppose a guy is using an old 2.x device and I release a 3.x app. Will this guy receive an alert on his iphone that a update is available?
I know that iTunes is blind and allows one to download and buy anything, even if you don't have any iphone or iPad. Is that same guy be able to download the newest version even if it is not compatible with his iphone? and what happens to the old version? I mean, once the newest version is downloaded by itunes, it will overwrite the old version that iTunes was storing. So, when the guy tries to sync, not only he will lose the version he had, but also will not be able to upload the new one to his device.
I don't know if this line of thinking is correct.
Do you guys have experience with this?
Please tell me what happens.
thanks.

The person will get an error along the lines of "This app is not supported on your device" if they try to download/install it.
Edit: not sure what happens if they try it on iTunes though.

Itunes won't warn you as it doesn't know what OS you iDevice has. But there will basically noone on less than OS3

Related

iOS: Changing min SDK Version of App in Apple's Store

I have released an App in the App Store with target platform 5.1. The app also was developed using SDK 5.1. My customer phoned me and said this is crap because als the jailbroken phones aren't able to download the app yet - because there is currently no jailbroken version for 5.1.
What do I have to do? I'm coming from Android - therefore I want to be really sure what I am doing when applying an App update to ensure that it is also available for 5.0 users.
I also use a Library Project - which also uses SDK 5.1 as shown in the screenshot below.
I would be really glad about some instructions how to reduce the required version for the app and if there are some compatibility troubles/problems occurring to my code when I do this.
You should change the deployment target, in the summary tab of the target, as shown in the image:
And call your customer and tell him there is already Jailbreak for 5.1 ;)
Release App version 1.1 with deployment Target OS as 5.0 or what ever else version you want to include ...
Just found this now while researching another question, so I'm sure this has already been handled, but here's my $0.02, eight years later....
You provided a working app to the App Store. All apps on the App Store are guaranteed to work on compatible iPhones that have not been jailbroken.
If your user is doing non-sanctioned things with his iPhone, it's not really your concern. There were plenty of big-name apps which had the same problem as yours: people couldn't use the latest version because a jailbreak wasn't yet available. They had to wait until such a jailbreak was out. That's the risk you take with using a jailbreak.
The difference here is that if FaceBook or WhatsApp or whatever big-name app changed its target SDK to an iOS version that did not yet have a jailbreak, users couldn't call Zuckerberg on the phone to complain or threaten. You, as an independent developer, got the phone call.
It's a balancing act. You want to use the latest, greatest features of the iOS version, but existing users might not have the latest, greatest OS. So you have to decide what's more important: new features or supporting existing users.

Minimum iOS Version 5.0 & The App Store

We're talking about making the minimum iOS version of our consumer facing app 5.0+. We have a few questions, and I was unable to find a great resource for the answers:
For existing users with 4.xx, when the next update is released, will they just not see the update in the App Store? IE, until they update their iOS version to our new minimum version, they will never see the most recent update and will be "stuck" on the previous version?
For new customers with 4.xx, when they search for our app on the App Store, will it show up in search results? If so, what will be displayed when they click Install ?
Thank you for your help. I found lots of information on specifically 3.xx to 4.xx, but wanted to get a more detailed explanation for the scenarios explained above. If there is Apple developer documentation for this, please point me in the right direction.:)
Thanks!
Yes.
If you specify the deployment target for your app as iOS 5.x, your customers running iOS 4.x won't see an update on the app store and will be stuck at the previous versions of your app.
New customers running iOS 4.x will be able to see the app but won't be able to install it. They'll get a system error message that iOS 5 is required to install this app.
Hope that helps.
The App store on the device will filter out apps and updates that are inappropriate for the current iOS device OS version. The user won't see them (or if they see them on some devices, won't be able to download or install them).
However, the iTunes App Store on the customer's Mac or PC will not filter by OS version. iTunes will download apps that the user can't install on their devices running older iOS versions, and, far worse, will put any working app versions in the trash after downloading their useless updates.
The App store does not filter apps based on the operating system of your device. It will show iOS 5 apps even if your device is iOS 4. The update will definitely appear in iTunes. I don't know about whether it shows up in the updates in the app itself.

"This device isn't eligible for the requested build."

I have an iPhone 3GS with 4.3 firmware. I downloaded a 3.1.3 firmware and was hoping to restore the iPhone using Organizer. But! I got the following error:
"This device isn't eligible for the requested build."
Any idea what's wrong?
There is no officially supported way to downgrade the firmware of an iPhone.
Apple only allows upgrading to a later version.
Look up SHSH saving, with utilities such as TinyUmbrella. Its commonly used by jailbreakers to allow rollbacks. Ive been saving my SHSH since it was introduced around OS3.1.x, and it lets me go back to any iOS version from iOS5beta to iOS3.1.3 etc.
This is because apple need to confirm the software update with a SHSH key. TinyUmbrella will save them and spoof them if you want to downgrade later. Although it won't let you go back, you would start saving SHSH's for current iOS builds, allowing rollbacks in the future...

I am using Xcode 3.2.5. I have iAds running. Confused about about targest, iOs versions

Trying to keep up with the curve. I'm reading almost too much and is sending me in a tail spin. Is there a one stop link which will tell me what my target should be to run my app on all platforms based on what frameworks I have included? I make heavy use of Mapkit, and want to include iAds. My current apps seem dead on 3G.
Does Apple force you to support only the latest iOS? I have no problem with that, but not sure if someone who has and ancient 3G, how do I tell them, NO I don't support your phone, please upgrade?
Set your project's base SDK to the latest version of the SDK. Set the deployment target to the oldest version of the OS that you plan to support. You can use features introduced in versions later than your deployment target, but you'll need to check for them before you use them, else your app will crash.
Read the release notes for each version of the OS to get a good idea of what features were introduced when. In fact, make it a habit to read the release notes thoroughly each time a new version comes out.
iOS 4.2 runs pretty well on an iPhone 3G, so there's no need to drop support for the 3G anytime soon. If your apps currently don't work on the 3G, fire up your debugger and figure out why. What version of iOS are you running on that device? Where does it crash? This is typical debugging stuff.

How to limit my app to run only on OS 3.0 family (or earlier) and not on OS 4.0?

Is there any way I can limit my app on the store to say that is only compatible with 3.0 os family and not with 4.0 ? I've been searching on the store and all the requirements are only in the form "iOS3.0 or later". Can anyone tell me if this is possible?
Thanks in advance.
EDIT: I just noticed that some apps on the store have a "ios4 verified" is there anyway for my app to say "ios4 not verified/tested"? I just want to optimize my app to ios4, but I just want to aware users about it.
You can't, and Apple would never let you (besides, the vast majority of users will have upgraded within a few months, so you'd be artificially limiting your target audience.)
Why do you want to?
There is a high possibility that Apple will reject the app if it fails to run on OS 4.0. If you target App Store, then your app must run on OS 4.0. This does not mean that you have to use OS 4.0 features, you can ignore them if you want. But the app must not fail to run on OS 4.0
I have an app approved and in the store.
I upgraded my phone to iOS4 and the dev app on the device stopped working - just crashed - a re-compile and install using the new SDK work fine (with a few changes that still need fixing).
This lead me to think I need to do what your suggesting - BUT:
A friend downloaded the same app (without upgrade) on his iOS4 phone and it works perfectly!
Seems Apple are making us think its totally broke so we fix it, without affecting the users experience (I guess through some sort of backwards simulation)
So, no sweat - just fix as soon as possible!