集成Appdome后Fastlane deliver lane上传报ITMS-90046代码签名错误求助
报错核心原因是iOS不允许
com.apple.developer.associated-domains权限使用通配符*作为取值,该权限必须明确指定需要关联的域名列表,该问题是Appdome在打包过程中默认注入了通配符格式的关联域配置,覆盖了你原有项目的配置导致。
第一步:关闭Appdome自动添加关联域配置
登录Appdome控制台,进入当前集成任务的配置页,找到
Build > Signing > Advanced Options分类,勾选Disable Automatic Associated Domains选项,关闭Appdome自动注入通配符关联域的逻辑。第二步:确认本地项目关联域配置
打开Xcode项目的Signing & Capabilities标签页,检查Associated Domains配置项,确保所有取值均为
applinks:xxx.com、activitycontinuation:xxx.com这类「明确前缀+具体域名」的格式,不存在*通配符条目。如果你的产品不需要用到关联域相关能力(通用链接、Handoff等),可以直接移除Associated Domains这个能力项。第三步:校验Fastlane签名配置
检查你的Fastlane配置中,
deliver执行前的打包、签名步骤是否使用了正确的provisioning profile,确保profile中关联域的权限配置和你Xcode项目中的配置完全一致。你可以用以下命令手动校验最终ipa的权限配置,确认不存在通配符取值:unzip -q YourApp.ipa codesign -d --entitlements :- Payload/YourApp.app/YourApp | grep "com.apple.developer.associated-domains"命令执行后如果输出的取值中没有
*,即可正常重新提交到Transporter。特殊情况处理:不需要使用关联域能力
如果你的产品完全没有用到关联域相关的功能,可以直接在Appdome的自定义entitlement配置中,主动移除
com.apple.developer.associated-domains这个key,避免后续集成时再次被自动注入。
内容的提问来源于stack exchange,提问作者Lancer FullStack

