真机构建时遇Code Signing错误:CallKit测试代码无法在iPhone X运行
解决CallKit测试代码真机运行的签名错误
嗨,这个问题其实挺典型的——模拟器跑代码不需要过签名验证,但真机上所有iOS应用(包括App Extension,也就是你看到的IntentsExtension)都得有苹果开发者签名才能运行。你说觉得IntentsExtension是给Siri用的,其实CallKit的部分功能(比如来电识别、和系统通话服务的交互)也会依赖这个扩展,所以它是项目里必须的组件,得一起配置签名才行。
下面是一步步的解决方法:
- 打开Xcode,在左侧项目导航栏点选最顶部的项目根文件(就是显示你项目名称的那个)
- 在右侧的项目编辑器里,选中IntentsExtension这个target(别选错成主App的target了)
- 切换到「Signing & Capabilities」标签页
- 在「Team」下拉框里,选你已经注册好的苹果开发者团队(如果还没有,得先登录你的Apple ID,要是没有开发者账号,用免费的个人账号也行)
- 确保「Automatically manage signing」是勾选状态,Xcode会自动帮你搞定证书和描述文件的配置
- 别忘了检查主App target的签名设置,得和IntentsExtension用同一个开发团队,不然容易出现签名不一致的问题
配好之后,重新编译运行到你的iPhone X上,这个签名错误应该就搞定了。
要是还是有问题,试试清一下项目缓存(按Cmd+Shift+K),再重启Xcode,有时候缓存会搅乱签名配置。
内容的提问来源于stack exchange,提问作者douglasrcjames
相关产品推荐
相关产品推荐

