【问题标题】:ERROR ITMS-90512: Invalid sdk value... 8.2 is higher than maximum allowed value of 10.3?错误 ITMS-90512:无效的 sdk 值... 8.2 高于允许的最大值 10.3?
【发布时间】:2017-08-23 15:31:40
【问题描述】:

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

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

【问题讨论】:

  • 听起来 LC_VERSION_MIN_IPHONEOS 没有被定义为数字,更有可能被定义为字符串。那么,当然,以 1 开头的字符串会小于以 8 开头的字符串。
  • lol @ 8.2 > 10.3 - 只有 Apple 可以重写数学。我想知道他们认为 1+1 是什么?
  • 你之前用8.2提交过吗?这是我们第一次提交 8.2 和 Swift 3,我们想知道它是否与此有关。
  • 我认为它与 Xcode 无关。 3 天前,我使用 Xcode 8.1 编译了我的应用程序,并毫无问题地发送给审查。今天我尝试了同样的事情并得到了这个错误。我认为他们把事情搞砸了。
  • 我也有这个问题。 Xcode 8.2.1 和 8.3 都会发生。这似乎是一个 iTune Connect 验证问题。我昨晚确实把它上传了,没有错误,但它从未出现在“处理”列表或我可以提交以供审查的构建列表中。如果我再次尝试上传,则会收到原始错误。

标签: ios watchkit apple-watch ios-extensions


【解决方案1】:

如果您下载了新版本的 Xcode,请务必切换到它:

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

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

【讨论】:

    【解决方案2】:

    我删除了watch相关的target,上传成功。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        更新:已修复!

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

        【讨论】:

        • 是的,我今天也收到了。 2 天前,当我第一次提交票时,他们并没有认真对待我,他们要求提供一段视频来证明它发生了......
        • 他们还没有回复,我暂时出差。
        • Apple 确定这些问题是由他们造成的,还是我们造成的?
        • @dar512 您可以为您的报告发布 rdar 吗?我的是 rdar://31389233(还没有来自 Apple 的反馈)
        • 我上传了一个新的二进制文件,并且能够提交测试版审查(这比我得到的还远)
        【解决方案5】:

        我提交的是旧的 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),这是他们应该注意到的,但我在两天前通过屏幕截图向支持人员发送了电子邮件,他们不为所动,告诉我如果我想要我的票就给他们发送视频处理!花 1 分钟看一下上传日志,我给了你 app ID 和时间戳,这有多难?

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

        编辑2:自前天以来一直没有经过的二进制文件,刚刚上传。也许它是固定的?

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

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

        【讨论】:

          【解决方案6】:

          编辑:虽然成功上传到 iTunes Connect,但在尝试提交 Testflight beta 版本时,仍然被同一条消息拒绝

          SDK 值无效。为 sdk 部分提供的值 XXX.app/PlugIns/XXX WatchKit 中的 LC_VERSION_MIN_IPHONEOS Extension.appex/XXX WatchKit App.app/XXX WatchKit App 是 8.2 大于允许的最大值 10.3。

          猜猜苹果还在努力……


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

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

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

          【讨论】:

          • @PauloRocha, johnny:你们中的任何一个都能够提交二进制文件供 App Store 审查吗? (只是普通的,不是测试版)
          • @LouFranco Nope ;(,不走运。提交 App Store / Testflight 外部构建的审核时仍然被拒绝。几分钟前我已经提交了 DTS 票,希望 Apple 能尽快解决这个问题。真的耽误了我们的行程。(可能遇到这个问题的每个人都应该提交DTS票?也许它可以加快解决这个问题的过程,如果问题是苹果自己造成的,苹果会退票,所以不要害怕使用 DTS 票。)
          • 我同意——也打开雷达。
          • @LouFranco,不。我刚刚又试了一次,但提交审核时遇到了同样的错误。然后它变成无效的二进制文件。他们需要很长时间才能纠正这一点。我希望他们意识到这不仅仅是在上传过程中。
          • @Johnny,我也开了一个。让我感到困惑的是,由于此错误,没有人应该能够提交支持 Apple Watch 的应用程序。所有的钟声都应该在 Apple 响起。
          【解决方案7】:

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

          【讨论】:

          • 这应该是评论而不是答案。
          【解决方案8】:

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

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

          • Xcode -> 产品清理

          • Xcode -> 退出

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

          • 重新启动 Xcode 和项目

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

          • 现在转到您的手表和手表扩展程序,并确保 Build 设置设置为 8.2

          • 存档并再次上传。

          【讨论】:

          • 尝试完全清理、删除派生数据,但没有用。我的部署目标也和你一样,iphone 8.0,watch/extension 8.2。
          • @Sam,你使用的是哪个版本的 Xcode?你使用斯威夫特吗?如果有,是什么版本?
          • @Sam 对我也没有帮助,我使用的是 Xcode 8.3,在尝试使用 Xcode 8.2.1 之前
          • @Sam B,这是 WatchOS1 还是更新版本?
          • @Ecuador 用于 watch OS 3
          【解决方案9】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-12-20
            • 2020-09-11
            • 2023-03-07
            • 2016-11-12
            • 2013-02-22
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多