将关联的域添加到Expo React-Native应用程序

时间:2019-06-22 18:41:27

标签: xcode react-native expo

我正在尝试将关联的域添加到我的Expo(非弹出)反应本地项目中。

我的应用程序可以正常运行,并可以通过XCode应用程序加载器正常提交。

但是,如果我将associatedDomains数组添加到app.json中,则在尝试提交申请时出现错误:

ERROR ITMS-90163: "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.associated-domains' in 'Payload/ExpoKitApp.app/ExpoKitApp'."

我根本不在XCode中进行开发。我一直在自己的环境中构建应用程序,运行expo build:ios,下载.ipa文件,在Mac上打开XCode,然后运行Xcode > Open Developer Tools > Application Loader将其提交给testflight。该过程运行良好,但是我不确定是否需要在XCode或Apple开发人员帐户中的哪个位置启用权利,是否需要更新某些配置文件,以及是否需要在以后放置它。

博览会文档提到(https://docs.expo.io/versions/latest/workflow/linking/#universal-links-on-ios),我需要“要将您的域添加到权利中,请单击“域”表底部的“添加”(+),以添加具有Web凭据的占位符域:前缀。将占位符替换为您网站的域,并保留前缀。”但我不知道我的Domains表在哪里。是在Apple Web界面中还是在XCode中?

如果问题有点基本,或者我缺少有关XCode或react-native应用程序开发工作流的东西,表示歉意,并感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

弄清楚了。我发生了两件事:

续博览中的证书

我必须登录developer.apple.com并删除我的密钥,配置文件和所有其他数据,但https://developer.apple.com/account/resources/certificates/list下的应用程序ID除外

之后,我需要通过运行expo build:ios -c来刷新expo中的证书,该操作将清除Expo存储在您的服务器上的证书。

无效的应用域

此后,我遇到了另一个错误,因为associatedDomainsapp.json中列出的应用程序域是mywebsite.com,而不是以下内容:

{
  expo: {
    ...
    ios: {
      associatedDomains: [
        "applinks:mywebsite.com",
      ]
    }
  }
}

这样做之后,构建将恢复以适当的权利提交到testflight。