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

6

我正在尝试将关联域名添加到我的Expo(非弹出式)react-native项目中。

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

但是,如果我将associatedDomains数组添加到我的app.json中,当我尝试提交应用程序时会出现错误:

ERROR ITMS-90163:“无效的代码签名权利。您的应用程序包签名中的权限不与包含在预配配置文件中的权限匹配。包含密钥的捆绑包不包括在预配配置文件中:“Payload / ExpoKitApp.app / ExpoKitApp”中的“com.apple.developer.associated-domains”。"

我完全没有在XCode中开发这个应用程序。我一直在自己的环境中构建应用程序,运行expo build:ios,下载.ipa文件,在Mac上打开XCode,然后运行Xcode > Open Developer Tools > Application Loader 以将其提交到testflight。这个过程一直很顺利,但我不确定在XCode或我的Apple开发者帐户中需要启用授权方式,如果需要更新某个配置文件,那么我在之后放置它的位置在哪里。

Expo文档(https://docs.expo.io/versions/latest/workflow/linking/#universal-links-on-ios)提到我需要“在授权表的底部单击添加(+),以添加具有webcredentials:前缀的占位符域。将站点的域替换为占位符,保留前缀。”但我不知道我的授权表在哪里。它在苹果Web界面中还是在XCode中?

如果问题有点基础,或者我对XCode或反应本地应用程序开发工作流程缺少了解,请谅解,并感谢您的帮助!

1个回答

9

弄清楚了,我遇到了两个问题:

更新Expo证书

我必须登录developer.apple.com并删除我的密钥、配置文件和除App ID之外的任何其他数据,网址是:https://developer.apple.com/account/resources/certificates/list

之后,我需要通过运行expo build:ios -c来刷新我的证书,这样可以清除Expo在服务器上存储的证书。

无效的应用程序域名

随后,我收到了不同的错误提示,因为在app.json中的associatedDomains中列出的应用程序域名是mywebsite.com而不是以下内容:

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

在执行此操作后,构建过程会使用正确的权限继续提交到TestFlight。


1
现在使用 EAS Build 进行自动化处理,app.json 将被读取,功能将在二进制文件构建之前自动注册到您的捆绑标识符中。 - Evan Bacon
1
@EvanBacon,你能否提供一下你评论的来源,我想进一步阅读,谢谢。 - Smiter
在这里:https://docs.expo.dev/guides/deep-linking/#expo-configuration - Shawn Erquhart

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