I want my application run from devices with iOS 6.0 to later (non-retina and retina). I am using Xcode 5 with iOS 7.0 as base SDK. I know the UI changes to support both versions. Just want to know about the projects settings , Deployment Target and Architecture settings in Build Settings section etc.
I am attaching the image of Architecture settings in Build Settings section , I think properly configuring this part may solve my problem. Thanks in Advance for your help.
Make the deployment target as ios 6.0
Related
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
I wanted to ask how compatibility on different iOS operation systems works in iOS. For example If I develop an app on Xcode 9.2 and Swift 4 for iOS 11, should it work on iOS 9?
I am coming from Android background which you specify the minimum Android OS that is needed for the app to run in the Gradle file. Does anything similar exist on iOS?
Very simple solution:
Set deployment target as 9.0 in your build target general settings. iOS will automatically handle support from 9.0 onwards for a build (your app).
Your app/build will be allowed to use/import frameworks and other libraries, compatible to minimum deployment target, only.
More detail about App Deployment Target from Apple.
Please set your deployment target to 9.0
Yes, it will work on iOS9
With Xcode 9.2 and swift4 you can develop an application for ios8.0 and above.
In your project setting, you have to select your development target
Yes, there is backward compatibility, but for older iOSes you have to check version when using newer API. Luckily we've got availability attributes (#available)
If you want to know HOW it works, basically for Swift your application has its own swift standard library embedded into binary of your application. In case of Objective C – newer iOSes keep sdk's of older versions to maintain backward compatibility.
I was working on Xcode 6 and now upgrading to Xcode 7.
Would I be able to build iOS 8 iPhone app using Xcode 7? Or do I have to use Xcode 6? Are there any restriction or compatibility issues that I should be aware of? Will I be able to deploy this build or release it to the App Store?
Yes, just change the deployment target of your app to 8.0:
There are no restrictions or compatibility issues, other than not being able to use any iOS 9 APIs in your app should you chose to target a lower SDK level.
You can set the Deployment Target to 8.0 in Target->General->Deployment Info. Xcode 7 will allow you to take advantage of many new features and still target iOS8 bearing devices.
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.
After installing Xcode 4.2 there is only iOS 5.0 SDK in Xcode.
Also I should support iPhone 3G with iOS 4.2.1.
How support two or more SDKs for one App with one Xcode?
I tried install Xcode 3 with iOS SDK 4.3 but Xcode crashes when starting.
Set the deployment target of the App to iOS 4.2.1, this will allow all iOS devices running 4.2.1 or upwards to run your App, however, you won't get any compiler warnings if you use stuff from eg. 5.0, so double check your code and add branches if needed.
Another thing is that since Xcode 4.2, the compiler only generates armv7 code, but since you also want support for the iPhone 3G, you have to manually tell it to also generate armv6 code by selecting your target, switching to the Build Settings Tab and there adding armv6 to the Architectures list.
Latest SDK included all required features from previous SDK versions. You shouldn't worry about it. If you want to support iPhone 3G just set iOS Deployment Target to iOS 4.2 (or another would you like) in project settings at Build Settings tab.
Don't remember to test your application on that iOS version.