0

We have our native iOS app developed in Xcode and now software developer is saying that we should upgrade our code to Xcode 9 as we may face issue with the new release on the App Store if we continue using Xcode for development. I would like to know if this is a fact, since I am not from iOS development and I don't know if this is a fact.

Any help in this regarding or a pointer to documentation would be appreciated.

matteodv
  • 3,992
  • 5
  • 39
  • 73
Learning
  • 19,469
  • 39
  • 180
  • 373
  • Well since we don't see your code we can only assume. But yes some API in SDK of iOS have changed. And to support the latest iPhones you might need to change some code. Sometimes this will require code changes, this is especially relevant if you code base uses Swift. – rckoenes Dec 06 '17 at 10:18
  • I don't think the question is about the SDKs, but rather the fact that iTunes Connect will only allow Xcode 9 builds to be processed and put live. – jbehrens94 Dec 06 '17 at 10:21
  • I dont have the code it is vendor who has developed app for us almost 2 year back and has mentioned that it is better to upgrade now as they are not sure if they will face any issues when publishing the app (new releases) to appstore will be approved for any reason. – Learning Dec 06 '17 at 10:21
  • If you don't change the app at all, you don't need to do the upgrade because you are not putting new versions in the app store. If you do change the app (new functionality and bug fixes), you should always be using the latest version of Xcode. If you are on Swift 2, the migration to Swift 4 will incur some pain, but futrure migrations should be much less of a problem since Swift 4 is almost stable. – JeremyP Dec 06 '17 at 10:38
  • So I would do the upgrade now, because you never know when you might need to issue a critical bug fix and, if you do have a critical bug, you don't want to be migrating the code at the same time. – JeremyP Dec 06 '17 at 10:39

4 Answers4

1

Yes, your developer is absolutely right.

General Suggestion: Your project/app source code should be compatible with latest technological upgrades.

Why should you move your app development on Xcode 9?
Here are several useful stack over flow discussions (questions and answers), explaining, new changes with Xcode 9.

  1. Xcode 9 Release Notes
  2. iPhone-X interface support - Safe Area of Xcode 9
  3. Swift 4 - Code migration from Swift 2.x to Swift 4
  4. Face-Id Authentication (If you have used biometric authentication)
  5. Facebook integration IOS 11 & FBSDKShareDialog not working on IOS11
  6. Navigation Controller and Navigation Bars
Krunal
  • 77,632
  • 48
  • 245
  • 261
  • At present we are facing issue with twitter/facebook sdk which was being used for this app, for some reason they are not working and developer said SDK is depreciated & not function so thaye have to upgrade to new SDK and also saying that we should upgrade to xCode9 which will cost us quite bit of money. – Learning Dec 06 '17 at 10:25
  • Yes, few SDKs supporting previous Xcode versions are deprecated (so many features and functionalities are also deprecated/removed by them). I agree with move to new Xcode. – Krunal Dec 06 '17 at 10:27
  • About cost: It will cost you developer effort (payment or salary) only for version support migration. There is other cost. – Krunal Dec 06 '17 at 10:29
1

Appstore won't reject your app because compiled with version 8 but as your developer says, It will be better approach to compile the project with latest version of Xcode.

In addition, with iPhone X release, Apple probably look into support for iPhone X so If you send a new version without iPhone X support, It may be rejected and for iPhone X support, you need to use Xcode version 9 or later.

Apple Xcode Support:

You should use the latest version of Xcode available on the Mac App Store to submit your apps, or when available, the latest GM seed release from the Downloads page. For more information, read the App Distribution Guide.

Note: If your source codes are written fully with Objective-C then compile won't be problem because with Xcode 9 nothing changed on Obj-C side. However, If you have a swift code It may needed to be updated to Swift 4.

Emre Önder
  • 2,408
  • 2
  • 23
  • 73
1

To contrast the other posters here: I'd say it depends. Right now, iTunes Connect accepts updates/uploads for apps built using Xcode 6 (six). There is no hard technical requirement to use Xcode 9 today, and there isn't going to be one in the forseeable future. 2019/2020, maybe, but by then we'll likely also have Xcode 11 or 12.

That said, there are many reasons to actually switch to the most recent Xcode release rather sooner than later, not the least of which is being able to target the current iOS version, iOS 11 and make your app work correctly on the new iPhone X.

Gereon
  • 17,258
  • 4
  • 42
  • 73
0

Apple releases a new version of Xcode every year, while it also removes the functionality in iTunes Connect to upload builds from older Xcode versions. So, to be brief, your developer is right!

Source: App Store - Submissions

Swift Dev Journal
  • 19,282
  • 4
  • 56
  • 66
jbehrens94
  • 2,356
  • 6
  • 31
  • 59
  • I can understand this but developer is charging for this doesnt that mean every year we have to upgrade and pay developer for upgarde – Learning Dec 06 '17 at 10:23
  • Well, if the developer is honest, he would charge the exact work he has done. As XCode releases every year, he should check every year that the app still works and runs in the Xcode environment for that year. Also: your app is probably depending on some external dependencies, as you mentioned FacebookSDK. Those libraries change as well, because Facebook also upgrades to XCode 9 and makes changes in their code. This means: you can leave an Xcode 8 app in the store, but you can't update it anymore in iTunes Connect until you upgrade to Xcode 9. – jbehrens94 Dec 06 '17 at 10:25
  • @Learning - I can understand your concern but if you see in the past, every year an Apple comes with so many changes at developer side and specially in Swift language. Indirectly Apple forces to move on latest technology and we do not have any way, if we wish continue working with them (Apple technologies) – Krunal Dec 06 '17 at 10:33