错误 ITMS-90512:无效的 sdk 值...8.2 高于最大允许值 10.3?

ERROR ITMS-90512: Invalid sdk value... 8.2 is higher than maximum allowed value of 10.3?

正在尝试上传包含手表应用程序的二进制文件。我得到的错误(我几天前没有得到)是为 watchkit 扩展提供的 LC_VERSION_MIN_IPHONEOS 的值是 8.2,它大于最大允许值 10.3...显然是 8.2 > 10.3?

我已更新到最新的 XCode,8.3,但没有解决问题。尝试更改 iOS 手表应用和扩展的部署目标,对消息没有明显影响。

编辑: 这是 Apple 方面的问题,与 Xcode 无关。这只会影响带有 WatchKit 的应用程序。

我今天刚刚上传了一个我的应用程序,它有一个 watchkit 扩展。试试这个,它可能有帮助也可能没有帮助。

  • Xcode -> 产品清洁

  • Xcode -> 退出

  • 在控制台终端执行 > rm -rf /Users/your_mac_user/library/Developer/Xcode/DerivedData/*

  • 重新启动 Xcode 和项目

  • 转到您的 Xcode -> 为您的 iPhone 应用构建设置,并确保将其设置为 8.0 以进行调试和发布

  • 现在转到您的手表和手表扩展,确保构建设置设置为 8.2

  • 存档并重新上传。

这与Xcode8.3无关,错误出在Apple验证过程中。我有一个正在审核的应用程序(上传没有问题)被拒绝,因为提供的登录用户已过期。我没有对应用程序进行任何更改,只是激活了用户并提交了。我现在有错误。

编辑:我还可以确认,如果移除 Watch 支持,一切都会顺利进行。

更新:已修复!

我已经向 Apple 提交了一个错误。他们回答说他们已经意识到这个问题并且有人在调查它。他们会在解决问题后与我联系。当他们这样做时,我会post在这里更新。

手表相关的target我删除了,上传成功

我提交的是旧的 Xcode 版本,我认为这是问题所在,所以转到最新版本,它给了我同样的信息,我正在提交高于 10.3 的 8.2。

现在,这才是真正疯狂的地方。我说,好吧,也许 8.2 有问题,所以我将我的最低目标切换到 8.3,清理、存档、提交。我仍然收到有关 8.2 的消息!!!

我导出了我正在上传的包:

otool -l MyApp.app/MyApp |fgrep --after-context=3 LC_VERSION_MIN_IPHONEOS
  cmd LC_VERSION_MIN_IPHONEOS
cmdsize 16
version 8.3
    sdk 10.2 
--
cmd LC_VERSION_MIN_IPHONEOS
cmdsize 16
version 8.3
    sdk 10.2

我 grep 了包和我的项目目录,该死的“8.2”字符串在任何地方都没有。没有手表扩展的同一个应用程序可以正常验证。看来他们已经破坏了手表提交(至少是 WatchOS1),这是他们应该注意到的事情,但我在 2 天前通过电子邮件发送了支持屏幕截图,他们不为所动,告诉我如果我想要我的票,请向他们发送视频处理!花1分钟看看上传日志,我给了你app ID和时间戳,难不难?

编辑:看来我安装了以前版本的 xcode,现在有一个更新的,但它也没有解决问题,问题似乎出在 Apple 方面...

编辑2:从前天开始就没有经过的二进制文件,刚刚上传。也许它已修复?

编辑 3:但是当您尝试提交应用程序时,您会在 itunes connect 中收到消息。所以看起来他们正在努力,还没有完全解决。

编辑 4:成功!提交成功,等待审核!

我也遇到了同样的问题。删除了手表应用程序并进行了上传。它已被接受审查。所以看起来问题出在 watchkit 扩展的验证上。一旦 Apple 解决了此问题,将再次与手表应用程序一起提交应用程序。

编辑:虽然已成功上传到 iTunes Connect,但在尝试提交 Testflight 测试版时,仍然被相同的消息拒绝

Invalid sdk value. The value provided for the sdk portion of LC_VERSION_MIN_IPHONEOS in XXX.app/PlugIns/XXX WatchKit Extension.appex/XXX WatchKit App.app/XXX WatchKit App is 8.2 which is greater than the maximum allowed value of 10.3.

我猜 Apple 还在努力...


我之前遇到过这个问题,我的项目中也有一个 watchOS1 目标。

我在几分钟前尝试再次上传二进制文件,没有再出现警告,并通过了 iTunes Connect 的处理。

遇到这个问题的每个人都应该试一试!

Apple 昨天修复了这个错误。您可以使用相同的二进制文件。无需进行任何更改。

如果您下载 Xcode 的新版本,请确保切换到它:

sudo xcode-select --switch /Applications/Xcode_11.6.app/Contents/Developer
sudo xcodebuild -runFirstLaunch

厄瓜多尔关于使用 otool 的回答是一个很好的提示,可以在您提交之前确保 SDK 正确无误。