我可以在Xcode beta中开发,然后从最新的Xcode GM提交吗?

问题描述:

我发现了很多类似一个,我只要求询问是否可以开发提交通过测试的问题。这是不是我所期待的答案,。我可以在Xcode beta中开发,然后从最新的Xcode GM提交吗?

我很想知道是否可以使用Xcode 9测试版开发我的应用程序,通过Xcode 8提交它?

所有节目将在Xcode 9测试版来完成,但是当它是时间来释放应用程序,我会在Xcode 8打开该项目归档并提交。

这是什么,将工作?如果不是,为什么不呢?

注意:我会使用雨燕3.2,而不是4

+3

我认为,这不是一个好主意迁移到较低的版本中,您将无法甚至打开你的故事板或XIB文件。 – Maddy

+0

为什么会这样?我目前成功的在Xcode 8中打开了当前的Xcode 9项目故事板 – smandrus

和Xcode 8将提交使用雨燕3.1,而不是3.2斯威夫特被提交。

所以你可以写条件代码那样:

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

因此,在实践中它给兼容的Xcode的两个版本,但它不是编译相同的代码。

这对吊舱和框架是有用的。

在swift 3.1和swift 3.2之间需要不同代码的例子是使用函数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 
     } 
    } 
} 
+0

因此,只有在swift 3.2语法不同的地方才需要进行条件编译?这是否意味着它会成功提交给App Store,即使它是使用Xcode的测试版开发的? – smandrus

+0

是的,你甚至可以用[AppCode](https://www.jetbrains.com/objc/)开发,然后用Xcode 8构建和提交。 –

的Xcode 9转基因种子现在是可用的。您可以从下面的链接下载Xcode 9,无需付费(高级)Apple开发人员帐户。

现在可以填写Xcode的9测试版使用Xcode的9转基因种子的App Store开发项目。

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)