您的 app bundle 签名中的权利与您的配置文件中包含的权利不匹配

如何解决您的 app bundle 签名中的权利与您的配置文件中包含的权利不匹配

我遇到了一个奇怪的问题,我没有更改 expo app.json 中的任何 expo 设置,突然 Apple 拒绝存档,原因如下:

错误 ITMS-90164:“无效的代码签名权利。权利 在您的应用程序包签名与包含的签名不匹配 在配置文件中。根据配置文件, 捆绑包包含不允许的键值:键的“[]” 'com.apple.security.application-groups' 中 'Payload/ExpoKitApp.app/com.company.appname'。

我的博览会配置如下所示:

{
  "expo": {
    "name": "App Name","slug": "app-name-slug","version": "1.1.1","orientation": "portrait","icon": "./src/assets/icon.png","splash": {
      "image": "./src/assets/splash.png","resizeMode": "cover","backgroundColor": "#000000"
    },"updates": {
      "fallbackToCacheTimeout": 0
    },"assetBundlePatterns": [
      "**/*"
    ],"ios": {
      "supportsTablet": false,"bundleIdentifier": "com.company.appname","buildNumber": "1.1.1","infoPlist": {
        "NSCameraUsageDescription": "App Name uses your camera to allow you to upload a profile picture.","NSPhotoLibraryUsageDescription": "App Name uses your photos to allow you to upload a profile picture."
      }
    },"android": {
      "package": "com.company.appname","versionCode": 13,"permissions": []
    },"web": {
      "favicon": "./src/assets/favicon.png"
    },"androidStatusBar": {
      "barStyle": "light-content","backgroundColor": "#042f3d"
    },"androidNavigationBar": {
      "barStyle": "dark-content","description": ""
  }
}

诚然,这是我在 Apple Review 系统(这是第一个应用程序)中遇到的第一个问题,所以我不知道去哪里找。任何帮助将不胜感激。

编辑:我在 Windows 上使用 expo,并且我有 App Store Connect。

解决方法

我当然愿意对此答案进行更正,但正如上面的评论中所述:

猜测根本原因:(Apple App Store 是一个封闭系统,我们只能猜测)

我相信 Apple 后端从今天起已经发生了变化,并且已经开始对采用数组值的授权键应用更严格的规则。

我相信 Apple 后端曾经接受使用数组值的授权键的空数组,但现在要求授权键要么根本不存在,要么包含实际值。

支持这一说法的证据:

  • 我有一个权利文件,其中包含一个“in-app-messaging”权利密钥,其中包含一个空数组,如下所示:
        <key>com.apple.developer.in-app-payments</key>
        <array/>
  • 直到昨天都很好(我成功提交了一个构建,并且已经提交了一年多的构建。

  • 现在已经不行了,您的错误中有类似的空数组消息。

修复:

打开 .xcworkspace(Xcode 项目)文件并导航到我的项目的签名和权利,并删除有问题的权利密钥

无论如何,密钥是空的,所以除了现在权利文件完全删除了我上面引用的行之外,应该不会有任何影响

App Store 提交成功。

,

要解决此问题(即使您使用的是 Expo 管理的工作流程并且无权访问 .entitlements 文件),请进入您的 Apple Developer portal's "Identifiers" tab,打开相关应用 ID,然后使确保您没有任何检查但没有配置的项目。

例如,在本例中,您似乎检查了应用组项,但实际上并未配置应用组,因此看起来像这样:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?