4

I was going through app review guidelines and one thing which I am unable to find the answers is

"Do I need to build my project with the latest available version of Xcode available on the Mac App Store or can I use the older version "

For example the current version of Xcode available on Mac App Store as of writing of these lines is Xcode 9.0, so do I need to build my project using Swift 4 and Xcode 9.0 or can I use older versions (say Swift 3.x and Xcode 8 or Xcode 7).

A similar question was asked in Feb 2012 Do I need the latest version of Xcode to submit apps to the app store?.

But it doesn't provide clear cut answer and the answer is more than 5 years old. And during that time the language for choice was objective -C whose versions were and are more stable than current lingua franca, Swift.

Krunal
  • 77,632
  • 48
  • 245
  • 261
Nikhil Pandey
  • 262
  • 4
  • 11
  • This may help you to add support of Xcode 9 in your project - https://stackoverflow.com/a/46339401/5638630 – Krunal Oct 16 '17 at 07:22
  • Yes you can use old versions have a look at the post https://stackoverflow.com/questions/35285502/minimum-xcode-version-to-upload-to-app-store-as-on-february-2016 – Kashif Mujeeb Oct 16 '17 at 07:23
  • This year a new iOS hardware in the the form of iPhone X has been launched. Does it automatically imply that this year we all need to use Xcode 9 for submission as this is the only version of Xcode which supports iPhone X. My only grudge is that Xcode 9 is quite unstable compared to Xcode 8. – Nikhil Pandey Oct 16 '17 at 07:30

1 Answers1

0

You can use older version of Xcodes (Xcode 8.x) to develop and upload your project build on app store. There is no any such kind of restriction by Apple, that you must use latest Xcode Tool to upload a build on the store

I recommend and a as good advise,

You should use latest version of Xcode Tool to make your app, compatible with latest version of technology. You should see and implement, changes in technology. And one most important and major update in Xcode 9 is - support for iPhone-X device. To see your app interface is compatible with iPhone-X or not, you must use Xcode 9. There are so many other considerable updates in Xcode 9 (with iOS 11)

Here is list of updates with Xcode 9: Highlights of Xcode 9

It's not required to convert/change version of Swift programming language to provide a support of latest Tool.

Xcode 8.3 & Xcode 9, both supports Swift 3.2 version. So, if your current project is supporting, Swift 3.2 version, then you can easily work with Xcode 9.0

How to see current Swift version of your Xcode Project

enter image description here

Also, review this answer to see, how you can make your project compatible to Xcode 9 - Xcode 9 Swift Language Version (SWIFT_VERSION)

Here is nice answer from Apple:

Why You Should Use the Latest SDK
Building with the latest SDK gives your app all possible bug fixes and new behavior. For compatibility reasons, frameworks can't always expose improved behavior, unless apps are built with the latest SDK.

For example, when Retina enabled iPads were first introduced, only iPad apps built with the very latest iOS SDK could create Retina images by simply loading an image with an @2x suffix.

By building with the latest SDK, apps signal that they are ready for all API improvements and bug fixes.

Krunal
  • 77,632
  • 48
  • 245
  • 261
  • Couple of people I know who have submitted to the App Store were asked to rebuild the project using the latest version of Xcode and then resubmit. – Nikhil Pandey Oct 16 '17 at 07:26
  • Also as you just wrote that this year a new iOS hardware the the form of iPhone X has been launched. Does it automatically imply that this year we all need to use Xcode 9 for submission. My only grudge is that Xcode 9 is quite unstable compared to Xcode 8. – Nikhil Pandey Oct 16 '17 at 07:28
  • @NikhilPandey for, `Couple of people I know who have submitted to the App Store were asked to rebuild the project using the latest version of Xcode and then resubmit. ` - They might have different problem with their build, Apple never force to use latest tool. But of-course if they added something new that is not a part of app developer but related to app (for an example, with Xcode 9, Apple asks for new Apple icon with 1024x1024, for marketing purpose.) In that case, you must use latest Xcode tool to provide missing assets. – Krunal Oct 16 '17 at 09:42
  • @NikhilPandey for `Xcode 9 is quite unstable compared to Xcode 8.` Its absolutely wrong that Xcode 9 is unstable. Issue is support of IPhone-X interface design and most of the developer don't know how to design their projects for iPhone-X and how to use Safe Area Layout for iPhone-X. That is the reason for not accepting Xcode-9. But you must adapt/use Xcode 9, if you want your app should run perfectly in iPhone-X. – Krunal Oct 16 '17 at 09:45