App Store Connect Operation Error: ITMS-90164 [] for key com.apple.developer.healthkit.access

App Store Connect Operation Error: ITMS-90164 [] for key com.apple.developer.healthkit.access

我现在在尝试上传到应用商店时遇到此错误,但我没有对我的 healthkit 功能进行任何更改,一切看起来都很好(见图片)。为什么说值是[]

<

?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>aps-environment</key>
    <string>development</string>
    <key>com.apple.developer.healthkit</key>
    <true/>
    <key>com.apple.developer.healthkit.access</key>
    <array/>
    <key>com.apple.developer.icloud-container-identifiers</key>
    <array>
        <string>iCloud.codes.myndarc.newFitnessApp</string>
    </array>
    <key>com.apple.developer.icloud-services</key>
    <array>
        <string>CloudKit</string>
    </array>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>group.com.myndarc.newFitnessApp</string>
    </array>
</dict>
</plist>

我对 com.apple.developer.icloud-container-identifiers 也有同样的问题。 然后我在 Signing and capabilities -> icloud, 检查了盒子容器然后问题就解决了

示例:

删除 .entitlements 文件中的以下行

<key>com.apple.developer.healthkit.access</key>
<array/>

这行不通:(。二进制文件将被拒绝 ITMS-90000: This bundle is invalid - $message.

什么对我有用: 首先,当您启用应用程序的 HealthKit 功能时:您还必须 select 临床健康记录复选框!

接下来,您必须在应用的 Info.plist 文件中提供健康记录使用字符串。

我不会过多更改我们的代码,这似乎是 Apple 方面的问题,希望他们能尽快修复。 https://developer.apple.com/system-status/

更新: 看起来 Apple 昨天(2021 年 1 月 21 日)修复了这个问题。我再也看不到错误了。


我有同样的问题。如果我正确读取该错误,它会失败,因为 com.apple.developer.healthkit.access 的值在 App Store 配置文件和权利文件中不同。

而且确实不一样

当我从 Xcode 启用 HealthKit 功能时,它会将此添加到权利文件中:

    <key>com.apple.developer.healthkit</key>
    <true/>
    <key>com.apple.developer.healthkit.access</key>
    <array/>

当我从 https://developer.apple.com/account/resources/profiles/list 创建一个 App Store 配置文件,然后下载它并用文本编辑器打开它时,我看到了这个:

                <key>com.apple.developer.healthkit</key>
        <true/>
                <key>com.apple.developer.healthkit.access</key>
        <array>
                <string>health-records</string>
        </array>

我不确定是否可以设置配置文件为 com.apple.developer.healthkit.access 设置的内容,所以看起来让它们具有相同值的唯一方法是启用“临床健康记录”HealthKit来自 Xcode 的能力,以便它也将其添加到权利文件中。这听起来不像是正确的解决方案,因为它会强制您启用“临床健康记录”,即使您不使用它也是如此。在我看来,这是 Apple 最近的一项更改,它更改了权利文件中的值与配置文件中的值的比较方式,因为以前没有发生过,而且我既没有更改权利文件也没有更改自上次成功发布应用程序以来的配置文件。

在我看来,从权利文件中删除 com.apple.developer.healthkit.access 密钥也不是正确的解决方案,因为 HealthKit 功能已在“签名和功能”UI 中从 Xcode 中删除你做吧。我还在这里看到一些人报告说,当你这样做时,该应用程序没有通过 App Store 审查。此外,Xcode 在添加 HealthKit 功能时将其添加到权利中,为什么我们需要手动删除它?

我们遇到了同样的问题。将“health-records”添加到 entitlements 文件并结合 plist 文件中的 NSUsage 描述肯定可以正常工作,但仍然是一种解决方法。由于我们不想访问临床健康记录,也不想将其显示在某处(App Store),因此这不是我们的解决方案。 是否有人不知道此更改是否会显示在某处,例如在 App Store 中?

2021-01-22T02:34:25.810Z:TestFlight 没有拒绝我的构建,包括

    <key>com.apple.developer.healthkit.access</key>
    <array/>