Updating SDK of an app written in objective-c - ios

I am doing a task for a client which is based on updating SDK. I have to make sure everything is working properly before updating application on the app store. This app has to be compatible with iOS 10.1 and 9.0 as well.
1) Is it enough if I just change deployment target in Xcode 8 to 9.0, to make it compatible with older version?
2) All pods are in obj-c, so to update them do I have to search for the latest version or find swift alternatives?

Related

Does user's iOS version limit their ability to install an app from the app store, is there a way to make it universal? [duplicate]

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.

Swift Update supported ios version

I have project with iOS Deployment Target 8.0 but I want update to iOS to support devices iOS 10 - 11.3
How to do it right
im need to change Deployment Target and it will work?
I can't find an answer to this problem
How can i do this? Thanks
If you wish to support iOS 11.3 you need to upgrade to Xcode 9.3.
That will include Swift 4.1 so you may get a lot of new warnings and errors in your Swift code depending on what version you are currently using.
Your project's Deployment Target has nothing to do with any of this. The Deployment Target defines the oldest version of iOS your app supports. If you keep your Deployment Target at iOS 8.0 (or anything earlier than the latest version of iOS) then you need to make sure that your code properly ensures that newer APIs are not used on older devices.

iOS Compatibility on different iOS Operation Systems

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.

Cocoapods platform version overrides Xcode development target?

I updated my app on the App Store with Xcode development target iOS7.0 recently.
However, one iOS7 user says he cannot open the app after he updated to the latest version.
With the latest version of this app, I changed the cocoapods platform version from iOS7.0 to iOS8.0 so I can install a library which supports over iOS8.
I wonder if I change the platform :ios to IOS7 on cocoapods, he can open the app?
*I don't have iOS7 device now, so I cannot test it on my side yet..
My app name is ListTimer.
According to slide 13 of introduction to cocoapods by jeffrey sambells. The syntax ofplatform :ios should be minimum support iOS version of your app instead of target version. So in your case you should use iOS 7.
You may find out how to download older version of iOS simulator (7.x in your case) by
this SO answer.

how can I change ios sdk?

I want to change my iOS SDK. I have ios 5 and xcode 4.2 but I have to decrease it to iOS 4.2 SDK because of my application. In developer.apple.com the xcode 4.1 with iOS 5 so it is not available. How can I find xcode 4.1 with ios sdk 4.2 or how can I setup the ios sdk 4.2 without download xcode again. If it is not possible can you give me a linq for download xcode 4.1 with ios sdk 4.2
The base SDK should be the currently available one - it's the version of the SDK that you have installed to compile against.
However, further down the settings list you'll see that you can set the "Deployment Target" to be for lower versions iOS. That's the one that specifies the lower version of the OS that you app will run on.
Latest SDK included all required features from previous SDK versions. You shouldn't worry about it. If you want to support previous versions of iOS just set iOS Deployment Target to iOS 4.2 (or another would you like) in project settings at Build Settings tab.

Resources