1

I have found a lot of questions similar to the one I am asking only ask if you can develop and submit through the beta. This is not what I am looking for an answer to.

I am curious to know if I can develop my application using the Xcode 9 beta, but submit it through Xcode 8?

All programming would be done in the Xcode 9 beta, but when it is time to release the app, I would open the project in Xcode 8 to archive and submit it.

Is this something that would work? If not, why wouldn't it?

Note: I would be using Swift 3.2, not 4.

smandrus
  • 305
  • 1
  • 2
  • 16
  • 3
    I believe that this is not a good idea migrating to lower versions, you will not be able even to open your storyboard or xib files. – Maddy Jun 14 '17 at 06:32
  • Why would that be the case? My current Xcode 9 project's storyboards open in Xcode 8 successfully so far – smandrus Jun 14 '17 at 06:40

2 Answers2

0

Submitting with Xcode 8 would be submitting using Swift 3.1 instead of Swift 3.2.

So you can write conditional code like that:

#if swift(>=3.2)
    // code builds for Xcode 9 beta
#else
    // code builds for Xcode 8
#endif

So in practice it gives compatibility to two versions of Xcode, but it's not the same code that compiles.

That's useful for pods and frameworks.

An example where code is required to be different between swift 3.1 and swift 3.2 is when using function swap(); example of use case:

extension Array {
    mutating func unstableShuffle() {
        for i in stride(from: count - 1, to: 0, by: -1) {
            #if swift(>=3.2)
                swapAt(i, Int(arc4random_uniform(UInt32(i))))
            #else
                swap(&self[i], &self[Int(arc4random_uniform(UInt32(i)))])
            #endif
        }
    }
}
Cœur
  • 37,241
  • 25
  • 195
  • 267
  • So the conditional compilation would only be necessary in areas where swift 3.2 syntax differs? Does this mean it would successfully submit to the App Store even though it had been developed using a beta version of Xcode? – smandrus Jun 14 '17 at 06:35
  • Yes, you can even develop with [AppCode](https://www.jetbrains.com/objc/) then build and submit with Xcode 8. – Cœur Jun 15 '17 at 01:10
-1

Xcode 9 GM Seed is available now. You can download Xcode 9 without Paid (Premium) Apple Developer Account from below links.

Now you can submit your project developed using Xcode 9 beta to app store using Xcode 9 GM Seed.

Xcode 9 - GM Seed
- (Command Line Tool - Xcode 9 - GM Seed for macOS 10.12)
- (Command Line Tool - Xcode 9 - GM Seed for macOS 10.13)

Krunal
  • 77,632
  • 48
  • 245
  • 261