[英]Xcode 8: Compile with iOS 9.3 base SDK?
我将我的iOS应用程序升级到Xcode 8.0 beta(8S128d)中的Swift 3.0。 我认为已经准备就绪并将其上传到iTunes Connect。 当我点击“提交审核”时,它给了我一个26个错误的列表,每个嵌入式框架一个错误,例如:
无效的sdk值。 在MyApp.app/Frameworks/libswiftFoundation.dylib中为LC_VERSION_MIN_IPHONEOS的sdk部分提供的值为10.0,该值大于允许的最大值9.3.2。
最后一个错误:
必须使用Xcode 6或更高版本的公共(GM)版本,OS X和iOS SDK构建新的应用程序和应用程序更新。 不要提交使用测试版软件构建的应用程序,包括beta OS X版本。
好的,在升级我的应用程序之前,这会有所帮助! 我该如何提交这个应用程序?
我注意到通过将基本SDK从Xcode 7.3.1复制到Xcode 8,将项目Base SDK从iOS 10.0更改为iOS 9.3:
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk
然后在Xcode 8的Build Settings中更改Base SDK
设置。 但是,即使我手动输入,也无法识别新的SDK (请参阅此问题) ,无论如何都要使用iOS 10.0进行编译。 有没有办法用旧的SDK编译? 或者我必须将我的代码回滚到Swift 2吗?
这是快速解决方案 :
不要使用Xcode beta版本来提交发布的应用程序 - 这是beta的原因,不应该与生产代码一起使用。
使用测试版Xcode创建的应用程序或专为测试版操作系统构建的应用程序将不会在App Store和Mac App Store上接受。 您提交的应用应使用Mac App Store中的最新版Xcode进行开发,并且应针对iOS,OS X和watchOS的公开版本构建 - 除非有GM种子可用。 当Xcode的GM种子可用时,使用它来开发您的应用程序以进行提交。 当iOS,OS X或watchOS的GM种子可用时,为这些版本构建您的应用程序。
↳https ://developer.apple.com/support/pre-release-software/
Re:好的,在我升级我的应用程序之前,这会有所帮助! 我该如何提交这个应用程序?
使用Xcode的当前版本或GM版本来构建和提交您的应用程序。
不幸的是,它似乎没有办法在Xcode Beta中更改SDK版本; 它可能是一个错误,也可能只是因为Apple希望您将beta SDK与beta软件一起使用。 就像@ l'L'l所说,必须在稳定的Xcode中打开应用程序才能让App Store接受提交。
但是,我确实发现将项目降级为Swift 2并非过分困难。 通过手动修复Xcode 7.3中的所有错误,我花了一个小时来“降级”整个项目。 如果它会帮助任何人,我在过程中注意到的主要模式是:
label.isOn
到label.on
NS
,例如NSData和NSTimer,它们分别成为Swift 3中的Data和Timer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.