【问题标题】:Universal Links with Expo and Branch: Entitlements Error与 Expo 和 Branch 的通用链接:权利错误
【发布时间】:2020-04-26 13:28:28
【问题描述】:

我正在尝试设置世博会通用链接,因此当用户按下我的链接并将我的应用程序下载到他们的手机上时,它们将立即被发送到我的应用程序中。我正在尝试通过 Branch.io 实现这一目标。我正在尝试follow the documentation. 首先,我添加了关联域:

然后,我去了分支,放入我的捆绑包和 Apple App 前缀。然后我得到了我的链接域:

最后,我配置了我的 App.json(这里只展示相关代码):

   {
  "expo": {

    "scheme": "librexapp",
    "assetBundlePatterns": [
      "**/*"
    ],

    "ios":{

      "bundleIdentifier": "[Redacted]",
      "associatedDomains":
        ["applinks:librexapp.app.link"],
      "config":{
        "branch":{
          "apiKey":   "[redacted]"
      }
     }
    }
  }
}

当我去应用商店上传时,我得到了以下错误:

错误 ITMS-90163:“无效的代码签名权利。您的应用程序包签名中的权利与配置文件中包含的权利不匹配。捆绑包包含配置文件中未包含的密钥:'com 'Payload/ExpoKitApp.app/[Redacted]' 中的 .apple.developer.associated-domains'。”

我不确定我哪里出错了。我联系了世博会支持,他们说要清理我的配置文件并链接到this SO thread。所以我将它们全部删除并重新制作,但错误仍然存​​在。感谢您的帮助!

【问题讨论】:

  • 请检查您的包标识符是否与您的配置文件包标识符相同或不同。
  • 它们看起来一样!我尝试制作另一个配置文件并清除旧配置文件,但我得到了同样的错误:(
  • 尝试撤销旧证书和配置文件?并删除派生数据
  • 这是由于旧的配置文件!

标签: ios expo deep-linking branch.io ios-universal-links


【解决方案1】:

这一段似乎解释了这个问题:

“虽然 app.json 中定义的一些属性可以在运行时应用,但其他属性需要修改原生构建配置文件。对于 ExpoKit 项目,我们只应用这些设置一次,在生成原生项目时(即当你运行 expo 弹出时)。 这意味着对于现有的 ExpoKit 项目,更改 app.json 中的某些属性将不会产生预期的效果。相反,您必须修改相应的本机配置文件。在大多数情况下,我们在此处提供了需要更改的文件或设置的简要说明,但您也可以参考 Apple 和 Android 文档以获取更多信息。”

这是来自here

作为一种解决方案,也许您可​​以尝试为 ios 重新生成应用程序。

【讨论】:

    【解决方案2】:

    您收到错误是因为您在应用链接中添加了 ["applinks:"]

    请删除,它必须是这样的 ["applinks: librexapp.app.link"],

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2017-03-15
      • 2016-04-23
      • 2023-01-13
      相关资源
      最近更新 更多