Changing deployment target post launch - ios

I released an iPhone app with deployment target of ios8.2 accidentally, I wanted it to work with ios7.
I have two questions
1. Is there any way to easily change this or do I need to release a new app version
2. If a new version needs to be released do I need to test this on a real iPhone running iOS7 i.e. do I need to downgrade my test phone before I can submit this update?

If the app isn't approved yet, you can remove it from review in the app's page in iTunes Connect, and submit a new build.
If the app is approved already, you have to create a new version to submit a new build.
In testing, you can test the app on the simulator, and if needs some real iPhone components, you can test on iOS devices 7.0 or above. You don't have to downgrade since the app will work on iOS 7.0 and above. However, there can be some bugs in older iOS versions, where devices with older versions can be useful (but you can't downgrade your devices - Apple prevents it). To test it on older versions, you need a device which hasn't been updated yet, or older versions of the simulator which Apple provides in Xcode (Check Xcode Preferences -> Downloads)

Related

Built iOS app for iOS 10.0, but Testflight claims it requires iOS 12.1

I recently built an (universal) app for iOS in XCode 11.7 with deployment target set to iOS 10.0 (as per the Build Settings tab in XCode). Then I deployed that app to Testflight and was able to download and use it on a newer iPhone with the latest iOS.
However, when I tried to testflight it on my other iDevice (and old iPad 4th Gen that only runs iOS 10.3), Testflight told me that the app is only compatible with iOS 12.1 or higher. However, I've recently tested another app on Testflight built with (as far as I can tell) the exact same build settings using same MacBook and the same XCode, and that app installed on my iPad via Testflight without problems.
It sounds like the problem in App not compatible on iPhone 4s and 5 in Testflight and related posts, but my settings for "Build Active Architecture Only" are already set to "No" for Release.
I've already checked the Apple Compatiblity Matrix https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html but I am not using any special features.
There are only few things left I can think of
I implicitly (and without meaning to) use some feature of the newer iPhones that are not included in iOS 12.1 or below
I checked in the appstore that the app contains "medical information" (it's just anatomy drawings for students), so maybe this triggered an implicit requirement of Apple Health Kit (which does not run on iPad 4t Gen). This seems unlikely, however, as I only stated this in the App Store listing, not in XCode.
Somewhere in the settings, there is still one remaining switch left to "only support iOS 12.1 or higher" and I just have not found it, If so, please point out where that might be
The app that successfully installed on Testflight is an update for an older app that was published in late 2019, so maybe Apple forces new Apps to require iOS 12.1 or higher (since all apps have to be built against SDK 12.1 now) regardless of built settings, but updates for already existing apps are still allowed to run on lower iOS versions. Is this the case?
Or am I missing something entirely different?

IOS App developed using Xcode 4.6 can be comptaible with recent Iphone versions

I have owned a MacBook (13 Inch) with OSX 10.7 (Lion version), and I found that the latest Xcode version comptabile with this computer is 4.6, which allow to create applications using IOS6 SDK.
Can I develop applications using IOS6 SDK and same time be able to run them on latest Apple Iphone devices and publish those apps on AppStore?
Testing Legacy Tool Support Says
For compatibility reasons, the App Store will often accept apps that
are built with some older versions of Xcode or Base SDK.
To determine if an older Xcode configuration is currently accepted by
the App Store, you can choose "Archive" under the "Product" menu to
make an archived build, then use the Validate feature, to test if that
build meets minimum requirements for submission to the App Store.
You may find it easier to create a test test bundle ID in the Member
Center and application record in iTunes Connect to test your build
environment, so you don't need to correctly configure every
entitlement your app uses.
Before 1 year when I submitted the app to app store I found out that
If I had lowest version I could not upload app to app store.Then I downloaded
xCode 6 also I must have minimum iOS 7.So you
should have minimum xCode version 6.Unless you have xCode 6, you must
not submit he app to app store.
At the same time you should have minimum iOS version or deployment target 7
I think the answer is yes. The big requirement is that your apps be 64 bit. The app store no longer supports 32 bit apps.
If you build apps on an older version of Xcode you won't be able to install/debug those apps from Xcode onto devices running newer OS versions, but you should be able to build an IPA and install it through iTunes.

Distribute App with previous version of XCode

Given that iOS9 & XCode7 are officially released, is it possible to submit an app for Apple review using a previous version of XCode (eg. XCode 6.1)?
If the answer is affirmative, will the app submitted through XCode 6.1 be able to be downloaded by iOS9 device (provided that the deployment target set to 5.1.1)?
Platform in use:
iMac 21.5-inch, Late 2009
Mac OSX 10.9.5
XCode version 6.1
Apple hasn't asked developers to refrain from submitting apps from old versions of Xcode yet. So, you will be able to submit you app from Xcode 6.1. And it will run in iOS 9 devices. But, it's not the ideal way to handle the app submission. There could be some bugs when the app is run in iOS 9 devices. It is advisable to verify the app in the latest Xcode version and submit from there.
At the moment App Store Team requires that to publish your application must be compliant with iOS8 and 64bit architecture (so Xcode6.x better last Xcode 6.4). The deadline for iOS9 would be probably February for new app and July for updates.

Apple Development: Release iOS 7 app

I will soon be uploading a new app to the App store. I have a question concerning the build version of the app. Does Apple still allow us to upload an app that has been build for iOS 7, since I know Apple is kind of forceful about staying up-to-date. I can't find anything about it while googling.
Thanks
The deployment target is the lowest iOS version your app is supporting and Apple doesn't limit that (AFAIK). So if you want to (and are able to), you can still submit an app that runs on iOS 5, for example (iOS 5.1.1 is the newest iOS version for first-generation iPads).
Apple does specify the lowest acceptable Base SDK (the libraries you're linking against) when submitting, though (they change this every few months/years and announce this to developers via e-mail). If you're using the latest non-beta Xcode, you're always fine. Submissions from Xcode beta version are never accepted.

Test iOS app with device of iOS 5.0.1 beta version

Now, I use Xcode 4.2 supporting iOS 5.0. Apple has just released iOS 5.0.1 beta 2. I can install it on my iPhone.
I want to test with this beta version, i.e build code from Xcode.
How do I build code from Xcode 4.2 for device of iOS 5.0.1 beta?
Please help
In exactly the same way that you would do so for iOS 5.0. We can't talk about beta versions of the software, but we can talk about what happens when newer versions of iOS are released. When you connect a device with a newer version of iOS installed, the Xcode Organizer will give you a message like:
Xcode does not have debugging information for the version of iOS on the device named “Dev iPhone”. Xcode can collect debugging data from the device to enable development with this version of iOS. This process only needs to be done once per iOS version, and will take several minutes.
You simply click OK or similar, and Xcode downloads the necessary debugging data. You can then build to the device from Xcode and use all the debugging tools as usual. This process works for point releases. It is highly unlikely this would work for major updates (e.g. if iOS 6 was released) and it may or may not work for iOS 5.1, depending on the changes included. But when Apple have not released a new version of Xcode to developers, you can be sure it is because one is not required.
It is important to understand the distinction between an updated version of iOS (for the device) and the iOS SDK (for Xcode). A point release of iOS does not necessarily require any change to the iOS SDK, and therefore with Xcode's ability now to download the debugging information on demand (a feature that has been around for a while), you don't necessarily need an updated version of Xcode. Likewise, with Xcode 4.2 you still set the iOS 5.0 as your base SDK even if you are setting an earlier version (e.g. iOS 4.2) as your deployment target. You don't need the iOS SDK v4.2 to target iOS 4.2 for deployment. (Just make sure you add back "armv6" to targeted architectures in your build settings, if you still want to support the iPhone 3G and equivalent iPods, as in Xcode 4.2 this is not included by default.)

Resources