错误 ITMS-90725:请更新 Xcode 并重建您的应用程序
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/50178436/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ERROR ITMS-90725: Please update Xcode and rebuild your app
提问by Salman Ghumsani
My current project in Swift 3.2 and Xcode 8.3 this error comes today even I have successfully uploaded to iTunes before 3 days.
我当前在 Swift 3.2 和 Xcode 8.3 中的项目今天出现了这个错误,即使我在 3 天前成功上传到 iTunes。
ERROR ITMS-90725: "SDK Version Issue. This app was built with the iOS '10.3' SDK. All new iOS apps submitted to the App Store must be built with the iOS '11.0' SDK or later, included in Xcode [9.0] or later. Please update Xcode and rebuild your app."
错误 ITMS-90725:“SDK 版本问题。此应用程序是使用 iOS '10.3' SDK 构建的。提交到 App Store 的所有新 iOS 应用程序必须使用包含在 Xcode [9.0] 中的 iOS '11.0' SDK 或更高版本构建或更高版本。请更新 Xcode 并重建您的应用程序。”
采纳答案by spassas
From Apple's Submitting apps to the App Store:
从 Apple向 App Store 提交应用程序:
Starting April 2018, all new iOS apps submitted to the App Store must be built with the iOS 11 SDK.
从 2018 年 4 月开始,所有提交到 App Store 的新 iOS 应用程序都必须使用 iOS 11 SDK 构建。
And a related (older but probably useful) Technical Note:
以及相关(较旧但可能有用)的技术说明:
It is not practical for Xcode to force every project to build with the latest SDK. For example, it may be necessary to ship an immediate hot-fix version of app - without waiting until the app has been fully updated for a newer SDK.
But it's important to understand that using an older SDK is a temporary workaround, not a solution. Issues preventing your app from using the latest SDK should be fixed as soon as possible. It will be much easier to fix these issues while the older build system is still supported.
Important: No Legacy SDK version will be supported indefinitely.
Xcode 强制每个项目都使用最新的 SDK 构建是不切实际的。例如,可能需要立即发布应用程序的修补程序版本 - 无需等到应用程序针对较新的 SDK 进行完全更新。
但重要的是要了解使用旧版 SDK 是一种 临时解决方法,而不是解决方案。应尽快修复阻止您的应用程序使用最新 SDK 的问题。在仍然支持旧的构建系统的情况下,修复这些问题会容易得多。
重要提示:不会无限期地支持旧版 SDK。
回答by lukszar
I met with similar problem now and found solutionfor it. My warning looked like following:
我现在遇到了类似的问题并找到了解决方案。我的警告如下所示:
ERROR ITMS-90725: "SDK Version Issue. This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.
错误 ITMS-90725:“SDK 版本问题。此应用程序是使用 iOS 12.0 SDK 构建的。从 2019 年 3 月开始,所有提交到 App Store 的 iOS 应用程序必须使用 iOS 12.1 SDK 或更高版本构建,包含在 Xcode 10.1 或更高版本中。
App was built and uploaded with the newest stable XCode (10.1)
应用程序是使用最新的稳定 XCode ( 10.1)构建和上传的
To check what SDK indeed you have installed, use terminal with following command:
要检查您确实安装了什么 SDK,请使用终端和以下命令:
xcodebuild -sdk -version
In response you will get printed all SDKs. In my case the problem was double SDK 12.1, but one of them was pointing on wrong path (like for iPhoneOS12.0.sdk):
作为响应,您将打印所有 SDK。在我的情况下,问题是双 SDK 12.1,但其中一个指向错误的路径(例如iPhoneOS12.0.sdk):
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk
Solution
解决方案
Solution in this case is simple.
这种情况下的解决方案很简单。
- Open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
- 打开/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
There you will find 2 shortcuts pointing to iPhoneOS.sdk.
在那里你会发现 2 个指向 iPhoneOS.sdk 的快捷方式。
Remove iPhoneOS12.0.sdk alias.
Well done.
删除 iPhoneOS12.0.sdk 别名。
做得好。
Probably XCode takes wrong SDK based on aliases available in SDKs folder. In my case solution provided above made it working correctly without any warning.
XCode 可能会根据 SDKs 文件夹中可用的别名使用错误的 SDK。在我的情况下,上面提供的解决方案使其正常工作而没有任何警告。