Publish app using xCode 9 with deployment target 6.0 - ios

I have a 2 years old app on App Store that has 6.0 deployment target. But it is not running on iOS 11. Its saying "The developer of this app needs to update it to work with iOS 11".
Now I am using xCode 9 and it gives me error in story board that "Compiling IB documents not supported for earlier than iOS 7 is no longer supported". It got fixed by setting "Builds for" option to iOS 7.
Does it means I cannot release this app for iOS 6.0? How can I make a new release that supports from iOS 6.0 to latest iOS 11?
Regards

You should bump the Base SDK to iOS11. You likely can leave the Deployment Target at iOS6.
For Storyboards, click on the Storyboard. Show the Utilities Pane (on the right), and click the first tab (File Inspector). There you can set the "Builds for" setting to higher than iOS6, or whatever you have it set to.
Also, make sure to address any warnings that Xcode tells you about regarding code or project settings, that might pertain to this issue.

The only thing you must do is add 64-bit architecture (arm64) to the list of valid architectures in target settings. You are not required to build app with Xcode 9, it's still allowed to use Xcode 6 or later.

Related

Downloaded ios simulator doesn't appear at xcode

I downloaded ios 10.3.1 version in xcode 9.4
But I only can select the ios 11 version I already have.
I rebooted OS and restarted Xcode already. I also can see ios 10 simulator when I select "add additional simulators"
There are ios10, 11 simulator both of them. I don't know how to use ios 10 simulators in xcode that I already downloaded.
Change Deployment Target from iOS 11.x to iOS 10.x
(Xcode shows simulator in a device list with iOS version >= Deployment Target.)
If I understand your problem correctly, changing Deployment target should help. It can be found in General section of settings shown when you first launch the app.
To use that the project compatibility should be lesser. That means the Deployment target in your app should be from iOS 10.
Go to project target settings. Deployment target --> 10.x
As the previous answers didn't help me, I'll describe my solution.
The deployment target doesn't always solve the problem, as well as creating a new scheme. The simulators don't appear automatically.
Press Add Additional Simulators
Choose Simulators tab
Create a new device simulator. Choose Device Type and OS Version whichever available
Your simulator should appear

App Store allows only iOS 10 or newer when deployment target is set to iOS 8.0

I have set deployment target to iOS 8.0 in both project and target settings (Xcode 9.2, Swift 4). Everything builds fine and with my testing iPhone 4S device (iOS 9.3.5) I can run app and works fine.
My problem is that same build in App Store allows only to download app for iOS 10 or newer. I get this message when trying to download from App Store:
"App name" is not compatible with this iPhone.
When I tried to look for way to fix this I found this in iTunes Connect (it's in Pricing and Availability section):
Why there is no older version? How can I fix this? I probably dont need to support iOS 8 but I want to support iOS 9.
Thanks for all help
2 things worth doing:
In Build Settings->Architecture, ensure that Build Active Architecture Only is set to NO, particularly for the Release section.
When archiving the project for distribution, ensure that the device at the top left corner of XCode is set to "Generic iOS Device" and not a device connected to your MacBook via USB. This is because despite setting Build Active Architecture to NO, XCode seems to not honour the setting.
Source: https://forums.developer.apple.com/thread/67488

Minimum iOS Deployment Target for Xcode 6

Wikipedia said that the minimum iOS Deployment Target for Xcode 6's was iOS 7. I just checked, with XCode 6 GM listed on the page now, the minimum iOS Deployment Target has been changed to iOS 5.1.1.
I do need to support iOS 6.0, and would like to confirm this with official Xcode document. I searched and could not find this particular information. Can someone share the link to an official document that mentions this? Thanks.
Xcode 6 supports a deployment target back to 4.3. Of course It doesn't support any simulators that old. You would need to test on real devices.
You will have no problem supporting back iOS 6 with Xcode 6 but you will need real devices with iOS 6 to test your app properly.
I don't have a link to a document but all you need do is set the project's Deployment Target to iOS 6.0 and you will have your proof.
Xcode 6 doesn't seem to even see my iPad 1. Although the deployment target is set to 5.1, the popup only shows 6.0 as the minimum in the popup.

UI of App on iOS7 looks Like UI on iOS 6

As i need my application to run on both iOS 6 and iOS 7, i have set my "iOS deployment target" under "Project" as well as "Targets" to iOS 6.0. However, after doing this, when i create an ipa file and install it on my iPad (that runs on iOS 7), i see everything converted to the look of iOS 6 - the searchbar, the keyboard etc etc.. Why is this happening??
I thought that on iOS 7, all my UIComponents will look as intended in iOS 7 and same thing will happen in case of iOS 6, when i run it on a device that is running on iOS 6! why is everything messing up???
Likely it depends on the Base SDK that you selected.
If you are using Xcode 5: select your project on the left panel, then click tab Build Settings, check that your Base SDK is "Latest iOS (iOS 7)".
You should always use the latest sdk as Base SDK, it represents the SDK used to build your app against.
If you want to support old iOS, you should just change the Deployment Target
Check it for both your target and project, since target overrides project settings
The problem was: I still had iOS 6.1 sdk on my system even when i upgraded to xcode 5. deleting the older version of sdk and cleaning and building my target solved my problem..

I've dropped iOS 5, how do I remove iOS 5.x from Xcode's scheme target?

My app has historically supported iOS 5 & up. We just recently decided to drop support for iOS 5. I removed support from the app by doing the following:
Clicking on the project's target
Searching for iOS Deployment Target in Build Settings
Setting that value to iOS 6.0
However, when I look at the list of possible simulators from the scheme dropdown, I'm still able to choose iOS 5.0 and iOS 5.1.
I'm worried this means I may have not actually set the minimum supported version of my app to 6.0. My app will crash on anything pre-iOS 6, since we've begun to use Auto Layout for some new views. Any new projects only show the latest simulators as scheme targets.
What am I missing? How do I get this dropdown to stop showing me the iOS 5.0 and 5.1 simulator options?
You are not missing anything. Setting the Deployment Target will determine the minimum version required for installation of the app.
I don't know of any way to hide an irrelevant target from the scheme dropdown.

Resources