I've uploaded an app in blackberry app world. Its support from 4.5
Now i have changed some changes in my app. I've added browser field. Its support from 5.0.
My question is,
Is there anyway to upload that,
old app for 4.5 to 5
new app for 5 to 7
You might want to confirm this with AppWorld support, but my understanding is that folks with older devices will still get the old version and folks with newer devices will get the new version. You don't have to re-upload the old version, it "just works" that way. I had a different problem -- I didn't want my old version to still be available for old OS versions once I updated/upgraded to a newer OS and had to actually make a special request to have the older versions deactivated.
Related
I have been searching for an answer for this for a while now and I can't seem to get a straight answer anywhere. I'm new to iOS development and am looking to get started porting my android app over to make my first iOS app. I'm not a big apple user, so I'm just running xcode in a VM and trying to build and test on my old ipod touch 3rd generation running iOS 5.1.1. I understand how out of date this is, but I want to develop and test on this device for 2 reasons:
I dont want to buy a $750 new apple product just to test my very simple app
When I publish my app, I want to reach the most users possible
So my question is this:
In xcode 8, is it possible to develop applications with a deployment target of iOS 5.1.1?
If so, will it build for all versions of iOS?
When I attach my ipod to xcode, it says device is not supported, can I fix this by installing some 5.1.1 developer package or sdk to allow support? Or would I have to build, then manually install and test each iteration?
If all of these are possible, and I build an app targeted to 5.1.1, can I publish it to the app store? If I open the app store on my 5.1.1 ipod, there are still apps in the store with recent update dates, so people must still be releasing updates to apps on iOS 5.1.1 right? Or am I missing something and an app that runs on iOS 5.1.1 is entirely banned by Apple.
A lot of questions, but If possible I really want to do this. Even getting a fully known, confirmed answer for ANY of these questions would be greatly appreciated.
Thanks
I dont want to buy a $750 new apple product just to test my very
simple app
Xcode has a simulator, you don't need a device to test your app.
When I publish my app, I want to reach the most users possible
As of July 31th 2017, https://developer.apple.com/support/app-store/
86% of devices are using iOS 10.
11% of devices are using iOS 9.
3% of devices are using earlier. (probably iOS 8)
It makes sense that you have this concern coming from Android, but iOS is quite different. Devices are designed to be uniform and apple encourages (almost forces) people to update them. (You won't stop receiving a notification to update your device)
It would actually be bad to focus on developing for that specific device you have, specially because a lot of the APIs will be deprecated, plus the screen ratio of that specific device is not so common.
In xcode 8, is it possible to develop applications with a deployment
target of iOS 5.1.1?
No*
If so, will it build for all versions of iOS?
Kind of, it will run but it won't probably be what you expect until you FIX it for that specific iOS version. (many things break between iOS updates so developers are sometimes forced to branch code)
When I attach my ipod to xcode, it says device is not supported, can I
fix this by installing some 5.1.1 developer package or sdk to allow
support? Or would I have to build, then manually install and test each
iteration?
Maybe, but probably not. You can actually copy files from older xcodes to enable testing in newer ones. You can search about how to do this by googling for "Using iOS 7 in Xcode 8". However I doubt going as far back as iOS 5 will be possible. The Xcode needed for running on iOS 5 is not even supported macOS Sierra (The newest OS)
If all of these are possible, and I build an app targeted to 5.1.1,
can I publish it to the app store? If I open the app store on my 5.1.1
ipod, there are still apps in the store with recent update dates, so
people must still be releasing updates to apps on iOS 5.1.1 right? Or
am I missing something and an app that runs on iOS 5.1.1 is entirely
banned by Apple.
Theoretically yes, iOS Apps can still "support" old iOS version, the reason why developers drop support for older os is because it gets increasingly hard to debug them as well as they just don't have support for new features and APIs that come with newer iOS.
My suggestion if you are really obsessed with building for iOS 5.1.1 is to ensure it's a 64 bit app:
https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html
And Download an old version of Xcode: (Maybe Xcode 7 or 6?)
https://developer.apple.com/download/more/
But I think you still have to Build with xcode 8 since you need to build against their latest SDK. The old Xcode is just to develop for it and facilitate debugging.
I am an experienced developer starting on my first iOS project. I am comfortable with the hardware and software that I will be using, but confused about the dependencies between the various components to achieve what I need to do.
Here's what I have:
iMac 21.5 inch, i5 processor 2011 vintage
OSX 10.7.5
XCode 4.2.1
iOS SDK 5.0/4.3/4.2
iPhone 4 running iOS 7
I first became aware of a problem, when XCode refused to let me download the app I am developing to the device. Presumably because I am targeting iOS 5, while the phone is on iOS 7.
I am hesitant to rush off and upgrade everything, as I am aware with Apple this is often a one-way street. For example, I bought the iPhone second hand that the vender had already upgraded to iOS 7, and now I cannot downgrade.
Here's what I want to be able to do:
Use my current hardware for development
Publish new apps in the App Store
Test my app on my iPhone (and preferably older models also)
Support iOS7 plus as many older iOS versions as possible
If possible, have the app use older controls styling (-iOS6) on iOS7
Can someone help me with my thought process through the various dependencies, and what versions I am going to need to achieve these aims?
You'll still be able to develop for iOS6 and earlier if you have the latest version of XCode, just set your deployment target accordingly. With XCode 5 though Apple stopped including the iOS5 simulators and earlier, so you would have to manually download it and include it if you wanted to use that.
Note that to develop with a real device (not just on the Simulator), you need to have an Apple Developer license and have added the device through the Developer portal.
I recently found my app doesn't work on iOS 5 and I have a few users who have asked that I release an older version that works on iOS5. One of them sent me this link http://news.softpedia.com/news/Apple-Enables-Pre-iOS-7-Downloads-Offers-Old-App-Versions-When-Necessary-383663.shtml Is there any way to release two versions of my app? One for ios6+ and one for ios5?
Apple does not provide a way to do this, but there is a way to do it yourself if you REALLY want to.
You have to create a new app id and name, (eg: MyApp for iOS 5). Then you have to set the deployment target of your iOS 5 app to iOS 5. Of course, someone with iOS 6 or 7 could also install it, so you might want to detect the the system version (via UIDevice) and offer to take them to the app store to get the newer version. You'll end up with two apps in the app store and your users will have to figure out which one is the best one for them.
You're probably better off trying to get your existing app to work on iOS 5 and fix whatever issues you're encountering with that OS (unless you're using autolayout--which is not supported on iOS 5 and would mean you'd likely have to re-do a lot of your UI for that OS version).
That said, there's a diminishing return on investment to support older versions of iOS. Most people update to the latest version of iOS pretty quickly and the number of users stuck with an old version of the OS who are unable to upgrade is going to steadily shrink.
Here's the situation: I have just released a minor version (3.5.3) of my app that still supports iPhone 3G (iOS 4.2), but I will soon be releasing a major version (4.0) that requires iOS 4.3 and up, so iPhone 3G will no longer be supported from 4.0 onwards.
I'd like to know if I can continue to support the 3.5.x version in the future by releasing updates to that e.g. 3.5.4 - will iTunes Connect understand that this is an incremental release to 3.5.3 and thus not offer it to those on 4.0? Does it understand that 4.0 will always be > 3.x? Or can there only ever be one version active at a time? Seems that way...
If the latter is true then I guess the way round it would be to submit 2 new versions - 3.5.4 and 4.0.1 - and release the 4.0.1 immediately after 3.5.4.
Has anyone had experience of doing this?
I'd obviously like to avoid this scenario if possible, but I don't want to have to leave my 3G customers in the lurch if something serious comes up.
Not unless you submit the new 4.3 version as a different app entirely (ie. not an upgrade to the original app).
If you submit the 4,3 app as an update, then the old app will be overwritten and no legacy support can be provided for it.
Users that haven't updated to 4.3 or are using older hardware simply won't be notified that your app has been updated until they update their OS or hardware.
I also think that if you do try to submit two separate versions of the same app, with the only difference between small feature changes and an OS requirement, then one of them will be rejected.
Is there any elegant way to "Cut off" support for older iOS operating system versions? When I first published my app the current version of iOS was in the 3.x range. As time progresses continuing to put out updates that support iOS 3.0, while integrating new features found in 4.0 is getting more and more time consuming. Yet I don't see any way that iTunes or any iDevice will effectively handle this for existing users.
Should I simply upload an update set the minimum iOS to 4.0 (or whatever I choose) and move on?
Most people have already upgraded to iOS 4.x, but there are still a few on iOS 3.x. Leaving those out will surely bring a couple bad App Store reviews (since they won't be able to update, and even worse: if they delete the app they won't be able to download the last 3.x-compatible version of your app), but sometimes it's worth it.
And yes, you'll need to upload a version that was built with "iOS Deployment Target" set to iOS 4.0.
There isn't any really elegant way, but fortunately most users have moved on to at least OS 4.
The best thing you can do is to give lots of notice in your app update notes, letting users know that "the next update will be 4.0+ only" or that "this is the final 3.x supporting version, please make a backup if you need it..."
Communication is key.
A few days before Apple released iOS 7, they start supporting download of older versions of your app. From the article:
For example, a user running iOS 5 can now — for the first time — download an app that supports that version of iOS, even if the latest version of the app is ready for iOS 7. The move, which was highlighted on Reddit, is a significant one as it will give those who have not upgraded their iPad, iPhone or iPod to the most recent versions of iOS access to a lot more apps.
So if I were you, I would do one more update to support older iOS devices for one last time before moving on and setting the deployment target to higher iOS version.
The weird thing is, I don't think we can go back and update the older version of our app. So if we have App 1.0 that supports down to iOS 5, then App 1.1 supports only iOS 7 and above, there is no way to release a 1.0.1 update to fix critical bugs for iOS 5 users.
That's why I said I'd update it one last time before bumping the deployment target. Maybe wait a few weeks and see if your last update has any critical bugs.