App Store Connect操作错误:ITMS-90164 [],针对密钥com.apple.developer.healthkit.access。

17
我现在尝试上传到应用商店时遇到了这个错误,但我没有更改我的健康包能力,而且一切看起来都很好(请参见图像)。为什么它说值是[]enter image description here <
?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>

输入图像描述


1
您确实有一个空的数组com.apple.developer.healthkit.access,就像错误所述。由于您不需要访问临床记录,并且您的配置文件没有HealthKit功能权限,因此应该删除此键。 - Paulw11
我遇到了相同的问题,但是与 com.apple.developer.icloud-container-identifiers 有关。 - Nicholas Allio
1
在删除了com.apple.developer.healthkit.access二进制文件后,我仍然面临着相同的问题,应用程序被拒绝。 - PSP
1
现在这个对我来说可行了 -- 看起来苹果修复了这个 bug。 - Lou Franco
6个回答

3

1
截至美国东部时间下午5:30,系统状态页面显示问题已解决,但我在尝试上传时仍然看到相同的错误。 - GarySabo
1
任何来到这里的人,我都鼓励你向苹果提交反馈。 - GarySabo
遇到了相同的问题,通过在文本编辑器中编辑.entitlements文件并删除com.apple.developer.icloud-container-identifier键来解决它。 - friherd

2

在.entitlements文件中删除以下行

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

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

对于我有用的内容:首先,当你启用应用程序的HealthKit功能时:你必须同时选择Clinical Health Records复选框! enter image description here

接下来,在你的应用程序的Info.plist文件中提供一个“Health Records Usage”字符串。 enter image description here


1
我认为如果你删除这行代码,你也会删除你的HealthKit功能。 - GarySabo
是的,二进制文件由于ITMS-90034:缺少或无效签名而被拒绝。 - PSP
如果您将应用程序提交到TestFlight,则此方法有效!但是,如果您将应用程序提交进行审核,则此方法无效:(。二进制文件将被拒绝ITMS-90000:此捆绑包无效-$message。但是,我添加了有关拒绝修复的更多信息。https://dev59.com/7FEG5IYBdhLWcg3wdOPm#65725753 - kiril kiroski
几天前似乎这个方法不起作用,但今天我删除了 <key>com.apple.developer.healthkit.access</key><array/> ,然后就能够提交了。 - GarySabo

2
更新: 看起来苹果已于2021年1月21日修复了此问题。我不再看到这个错误了。
我遇到了同样的问题。如果我正确地阅读了该错误,那么它失败是因为App Store预配文件和授权文件中com.apple.developer.healthkit.access的值不同。
而且确实不同。
当我从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 创建一个应用商店配置文件,然后下载并用文本编辑器打开它,我会看到这个:

                <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相同的值,看起来唯一的方法是从Xcode启用"Clinical Health Records" HealthKit功能,以便它也将其添加到授权文件中。这似乎不是正确的解决方案,因为它强制你即使不使用该功能也要启用"Clinical Health Records"。在我的看法中,这是苹果最近的变化,改变了授权文件中的值与配置文件中的值的比较方式,因为在此之前它并没有发生过,而且自上一个成功的应用发布以来,我既没有更改授权文件也没有更改配置文件。

在我的看法中,从授权文件中删除com.apple.developer.healthkit.access键也不是正确的解决方案,因为当你这样做时,"Signing & Capabilities" UI中的HealthKit功能将被移除。而且我在这里看到有些人报告说,当你这样做时,应用程序无法通过App Store审核。而且,当我们添加HealthKit功能时,是Xcode自动将其添加到授权文件中,为什么我们需要手动删除呢?


0

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

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

是的,看起来苹果昨天已经修复了它。 - mihai1990

0
我遇到了与com.apple.developer.icloud-container-identifiers相关的同样问题,然后我勾选了签名和能力 -> icloud下的容器框,问题就解决了。
例子:
example

0
我们遇到了同样的问题。将 "health-records" 添加到权限文件中,再结合 plist 文件中的 NSUsage 描述,确实可以正常工作,但仍然是一种解决方法。因为我们既不想访问临床健康记录,也不想在某个地方显示它(应用商店),所以这对我们来说不是解决方案。 有人知道这个更改是否会在某个地方显示,比如在应用商店吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接