我发现了很多类似于我问的问题,只问你是否可以通过测试版开发和提交。这不是我要寻找的答案。
我很想知道我是否可以使用 Xcode 9 beta 开发我的应用程序,但通过 Xcode 8 提交它?
所有的编程都将在 Xcode 9 beta 中完成,但是当需要发布应用程序时,我会在 Xcode 8 中打开项目以存档并提交它。
这是可行的吗?如果没有,为什么不呢?
注意:我将使用 Swift 3.2,而不是 4。
我发现了很多类似于我问的问题,只问你是否可以通过测试版开发和提交。这不是我要寻找的答案。
我很想知道我是否可以使用 Xcode 9 beta 开发我的应用程序,但通过 Xcode 8 提交它?
所有的编程都将在 Xcode 9 beta 中完成,但是当需要发布应用程序时,我会在 Xcode 8 中打开项目以存档并提交它。
这是可行的吗?如果没有,为什么不呢?
注意:我将使用 Swift 3.2,而不是 4。
使用 Xcode 8 提交将使用 Swift 3.1 而不是 Swift 3.2 提交。
所以你可以写这样的条件代码:
#if swift(>=3.2)
// code builds for Xcode 9 beta
#else
// code builds for Xcode 8
#endif
所以在实践中它提供了对两个版本的 Xcode 的兼容性,但编译的代码不同。
这对 pod 和框架很有用。
swift 3.1 和 swift 3.2 之间要求代码不同的示例是使用 function 时swap()
;用例示例:
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
}
}
}
Xcode 9 GM Seed 现已上市。您可以从以下链接下载没有付费(高级)Apple 开发者帐户的 Xcode 9。
现在您可以使用 Xcode 9 GM Seed 将使用 Xcode 9 beta 开发的项目提交到应用商店。
Xcode 9 - GM 种子
-(命令行工具 - Xcode 9 - macOS 10.12 的 GM 种子)
-(命令行工具 - Xcode 9 - macOS 10.13 的 GM 种子)