【问题标题】:Xcode SDK Version IssueXcode SDK 版本问题
【发布时间】:2019-05-07 03:21:55
【问题描述】:

我在通过最新版本的 Xcode(版本 10.1 (10B61))分发应用程序时遇到了一点问题。每次我尝试通过管理器将其上传到 App Store 时,上传后都会出现此错误:

WARNING 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."

之前对这个问题的回答说这只是一个警告,我应该仍然可以上传我的应用程序,但现在是 3 月,即使在 10.1 上我仍然会收到错误消息。 iTunesConnect 不允许我选择这些构建,我会收到有关验证失败的电子邮件。

更多细节:

-The app is an iMessage extension, and uses exactly 1 framework from Carthage, which is up to date with the latest framework version and Carthage version.
-My project and Message extension targets Swift Language Version build setting is Swift 4.2.
-My deployment target is iOS 11.0, but the issue persists after selecting iOS 12.1.
-The app compiles and runs fine on my physical device running iOS 12.1.
-The issue persists after a build folder clean.
-The issue persists after reinstalling Xcode.

如果有人对我如何验证我的应用是否使用最新的 SDK 编译有任何建议,请告诉我。

【问题讨论】:

    标签: swift xcode xcode10 carthage imessage-extension


    【解决方案1】:

    应用程序是否在给定的 iOS 版本上运行,与您真正使用的 SDK 无关。用于构建的最终 SDK 版本可在应用的 Info.plist 中找到。

    1. 存档后,在 Finder 中显示 xcarchive。
    2. 右键单击,显示包内容。
    3. 打开 Products/Applications/YourApp.app
    4. 右键单击,显示包内容。
    5. 将 Info.plist 复制到可以在其上运行终端命令的位置
    6. /usr/libexec/PlistBuddy -c "print :DTSDKBuild" Info.plist

    您可能希望它针对 SDK 12.1 显示“16B91”。如果是别的东西(SDK 12.0 将是“16A366”),这里有一些想法:

    • 检查 Carthage 依赖项。您真的是在本地构建它还是下载预构建的二进制文件?如果有疑问,请使用--no-use-binaries 强制本地构建。删除整个 Carthage 文件夹(Checkouts 和 Build)并从头开始。
    • rm -rf ~/Library/Developer/Xcode/DerivedData 而不仅仅是“构建文件夹清理”
    • 验证 MacOS 系统报告部分的软件/开发人员是否为 MacOS 认为您拥有的实际 SDK 版本
    • xcode-select -p 验证您确实在使用您想要的 Xcode 实例

    如果您觉得一切都正确,请填写Technical Support Incident。报告您已上传的确切拒绝构建。这应该会加快支持反应。

    【讨论】:

    • 我很欣赏所有的细节,并且我一直在尝试一切。不幸的是,没有任何帮助。存档的 info.plist 有当前的 Xcode 版本,我的电脑上只有 1 个 Xcode 副本,MacOS 说 Xcode 是最新的,强制 carthage 和派生数据删除都不起作用。您还有其他建议吗?
    • 我确实有一个建议,有点。在答案末尾添加。
    【解决方案2】:

    我向 Apple 填写了一份错误报告,因为我遇到了完全相同的问题,并且上述解决方案均无效。他们对后端进行了更改,现在一切都恢复正常。

    如果您有一段时间没有尝试过,请再试一次,我敢打赌这一次会奏效。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我的应用程序是在 Xcode 10.1 中编译的,但我仍然收到 SDK 警告。我能够通过执行以下操作来解决它。我不确定是否所有这些步骤都是必要的。我没有尝试在步骤之间进行验证。

      1. 我将 macOS 升级到 Mojave (10.14.3)。我一直在运行 High Sierra。
      2. 从应用程序文件夹中删除 Xcode
      3. 从应用商店重新安装 Xcode
      4. 打开我的项目并运行 Project->Clean Build 文件夹
      5. 存档并上传,不再出现警告

      【讨论】:

      • 感谢帮助,但不幸的是,这是我尝试的第一件事。我什至尝试在另一台机器上构建。
      • 是的,我很惊讶这对我有用。我认为 ios 更新可能与它有关,因为我看到我的应用程序与一些系统库链接。自从这有效以来,我没有仔细研究它。但是,也许看看您是否在 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk 中有任何链接。或者只是删除/移动该文件夹,看看它是否仍然可以编译。祝你好运。
      猜你喜欢
      • 2019-07-07
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2019-05-16
      • 2014-08-10
      • 1970-01-01
      相关资源
      最近更新 更多