今天提交一個App 到 iTunes Connect。App在Xcode 7以及Mac OS X EL Capitan 10.11.1 beta下編譯html
出現一個錯誤消息以下:ios
- Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later,
- and iOS 8 SDK or later. Don‘t submit apps built with beta software.
中文版錯誤消息:api
- 工具鏈無效。新 App 和 App 更新必須使用公共(正式)版 Xcode 6 或更高版本以及 iOS 8 SDK 或更高版原本構建。
- 請勿提交 Beta 版軟件構建的 App。
應用程序的創建由兼容的Xcode版本、合適的iOS SDK版本以及Mac OS 版本有關。xcode
- <key>ProductBuildVersion</key>
- <string>15A279b</string>
正是這個版本號的緣由, iTunes Connect會讀取這個值,從而知道app是使用OS X預發佈版本的創建的,從而拒絕。app
將app提交到iTunes Connect時會提示失敗,此app不能安裝任何設備上,越獄設備除外。編輯器
咱們能夠重裝OS X來修復這個問題,這個成本太大。幸運的是,找到一個方法,能夠沒必要降到OS X 10.10 Yosemite,ide
經過改變OS 版本號來解決。工具
提示:該解決方案要求您禁用系統完整性保護,以對系統文件進行修改oop
一、使用編輯器打開 /System/Library/CoreServices/SystemVersion.plist
ui
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>ProductBuildVersion</key>
- <string>15A279b</string>
- <key>ProductCopyright</key>
- <string>1983-2015 Apple Inc.</string>
- <key>ProductName</key>
- <string>Mac OS X</string>
- <key>ProductUserVisibleVersion</key>
- <string>10.11</string>
- <key>ProductVersion</key>
- <string>10.11</string>
- </dict>
- </plist>
二、編輯ProductBuildVersion值,從舊的OS X版本號15A279b替換爲14C109版本(Yosemite 10.10.2)
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>ProductBuildVersion</key>
- <string>14C109</string>
- <key>ProductCopyright</key>
- <string>1983-2015 Apple Inc.</string>
- <key>ProductName</key>
- <string>Mac OS X</string>
- <key>ProductUserVisibleVersion</key>
- <string>10.11</string>
- <key>ProductVersion</key>
- <string>10.11</string>
- </dict>
- </plist>
三、重啓Xcode,從新archive您的app並正常的提交到您的App Store,此次應該能經過 iTunes Connect的審查
參考資料:https://georgegarside.com/blog/ios/submit-apps-built-beta-xcode/
https://georgegarside.com/blog/osx/package-incompatible-installer/