Siri Custom Intent Extension的appex文件被删后编译运行异常求助
编译报错信息:
Couldn't load Info dictionary for <DVTFilePath:0x7fb47bc72db0:'/Users/name/Library/Developer/Xcode/DerivedData/App-dqytyesirfltsnduzvpjdozsoxtp/Build/Products/StagingDebug-iphonesimulator/Appname.app/PlugIns/Myintent.appex'
问题修复步骤
- 第一步:清理Xcode衍生数据
关闭Xcode后执行终端命令:rm -rf ~/Library/Developer/Xcode/DerivedData/*,完成后重启Xcode。 - 第二步:修正Extension嵌入方式
不要手动拖拽Myintent.appex到主Target的「Frameworks,Libraries and Embedded Content」列表。正确操作:打开主App Target的Build Phases选项卡,找到「Embed App Extensions」阶段,点击+号选择Myintent Extension Target,勾选Copy only when installing选项即可,系统会自动同步General列表的内容。 - 第三步:校验Extension的Info.plist配置
打开Myintent Extension Target的Info.plist文件,确认以下配置正确:NSExtension字段下的NSExtensionPointIdentifier值必须为com.apple.intents-serviceIntentsSupported数组内包含所有自定义意图的类名,拼写完全匹配- Info.plist的Target Membership仅勾选Myintent Extension Target,不要勾选主App Target
- 第四步:统一签名与Bundle ID规则
- 主App与Extension的Bundle ID必须为从属关系,例:主App为
com.xxx.appname,Extension应为com.xxx.appname.Myintent - 两者的签名配置一致,Team ID完全相同,要么同时使用自动签名,要么使用匹配的手动签名配置
- 主App与Extension的Bundle ID必须为从属关系,例:主App为
- 第五步:重置运行环境
模拟器测试先删除设备上已安装的App,重启模拟器后重新编译;真机测试先卸载旧App再重新安装。
如果执行完上述步骤仍报错,先单独选择Myintent Extension的Scheme编译,排查Extension本身的编译错误,确认Extension编译成功后再编译主App。
内容的提问来源于stack exchange,提问作者Rama Krish
相关产品推荐
相关产品推荐

