Xcode 上传App Store:"ERROR ITMS-90046: "Invalid Code Signing Entitlements

549e8d3e-362d-492e-a249-17b176d9c454.png

首先确认,这个问题是因为 Associated Domains

确认一下,项目当中是否用到了 Associated Domains 的内容,最近微信新的SDK要求配置一个universal link,就用到了这个东西。

如果没用到这些内容:

1、删除项目中的Associated Domains 内容

a674eb7b-ce87-4052-b97f-39a773cdc786.png

2、勾选掉证书中的相关选项

ef9d4f2d-bb55-4e82-9260-f73ef90f4317.png

3、清理Xcode 缓存,重新生成描述文件,重新打包上传

如果用到了这些东西:

1、在Targets -> Signing & Capabilities 中添加 Associated Domains

d664121c-ff6d-4ae2-8fff-32a32dacf990.png

2、配置项目中的 Domains
注意如果微信SDK中配置了universal Link,大家应该不陌生。
这里需要注意一点:以 applinks: 开头
如果你的universal link 是 https://www.baidu.com/,在这里你就应该是 applinks:www.baidu.com

3、服务器配置apple-app-site-association文件
需要在上面域名对应的服务器上放apple-app-site-association文件【该文件为json文件,无后缀】。

apple-app-site-association文件配置如下:

    "applinks": {  
        "apps": [],  
        "details": [  
            {  
                "appID": "G56NU654TV.io.dcloud.HBuilder",  
                "paths": [ "/ulink/*"]  
            }  
        ]  
    }  
}
//
#apps     必须对应一个空的数组

#appID    由前缀和ID两部分组成,可以登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID查看

#paths    对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低。若无path,则只有 *。
把配置好的apple-app-site-association文件上传到你自己的服务器,确保通过https://demo.dcloud.net.cn/.well-known/apple-app-site-association可访问。
其中demo.dcloud.net.cn为上面配置的域名
应用安装后会通过访问上面的url向系统注册应用的通用链接。

注意事项

apple-app-site-association文件不需要.json后缀
对apple-app-site-association文件的请求仅在App第一次启动时进行,如果此时网络连接出了问题apple会缓存请求,等有网的时候再去请求,如果没有请求此文件通用连接会失效
iOS 9.2开始,在相同的domain内Universal Links不生效,必须要跨域才生效

你可能感兴趣的:(Xcode 上传App Store:"ERROR ITMS-90046: "Invalid Code Signing Entitlements)