Ionic 3 添加或构建iOS应用时出现错误
嘿,我帮你梳理下这个问题的根源和具体修复步骤:
问题根源
从你给出的错误日志来看,核心问题很明确——系统在尝试打开一个本地文件,但路径里居然混着https:/t4edc.app.goo.gl/#apple-app-site-association这个远程URL!这说明你在配置Universal Links(通用链接)或者相关webhooks的时候,误把远程的Apple App Site Association文件地址当成了本地文件路径来引用,导致构建时系统找不到这个“不存在的本地文件”。
一步步修复方案
1. 先检查config.xml的通用链接配置
打开项目根目录的config.xml,找找有没有<universal-links>相关的标签。你大概率是在这里写错了配置,正确的通用链接配置应该是关联你的域名,而不是直接写那个远程文件的URL。举个正确的例子:
<universal-links> <host name="你的域名.com" scheme="https" /> </universal-links>
把里面错误的https://t4edc.app.goo.gl/#apple-app-site-association这类内容删掉,换成你自己的合法域名。
2. 核对Entitlements文件的正确性
你提到项目代码签名授权用的是App/Resources/App.entitlements,先确认这个文件真的存在于这个路径下,如果不存在就重新创建一个。打开这个文件后,重点看com.apple.developer.associated-domains字段,格式必须是applinks:你的域名.com这种,绝对不能是错误的URL路径。
3. 清理Webhooks相关的错误配置
错误路径里提到了ul_web_hooks/ios/,这应该和通用链接的webhooks脚本有关。去项目的hooks文件夹或者根目录下找找自定义脚本,看看有没有脚本错误地把那个远程URL当成本地文件来下载或引用。如果不需要这个webhooks,直接删掉相关配置就行。
4. 清理缓存后重新构建
做完上面的修改,一定要清理缓存再重新操作,避免旧配置残留:
# 先移除iOS平台 ionic cordova platform remove ios # 清理项目缓存 ionic cordova clean # 重新添加iOS平台 ionic cordova platform add ios # 最后重新构建 ionic cordova build ios
5. Xcode项目兜底检查(如果前面没解决)
如果还是有问题,打开Xcode项目:
- 去
Build Phases->Copy Bundle Resources里确认App.entitlements已经正确添加到项目目标中; - 再看
Signing & Capabilities里的Associated Domains配置,确保里面的域名格式完全正确。
内容的提问来源于stack exchange,提问作者Ciprian

