xcode 真机调试 需要付费吗_Xcode真机调试中活久见的BUG——【code signature invalid for Framework】...

前言

因为疫情的原因,春节至今只能在家用自己的非付费开发人员账号进行真机调试,从而发现这个问题,新建的简单项目一直无法进行真机调试,断断续续卡了我好几天。

关键词:

dyld: Library not loaded: @rpath/xx.framework/xx和

code signature invalid for xx.framework

遇到错误的共同条件:

真机调试

Xcode 11.3.1 + iOS 13.3.1

非付费开发人员账号和证书

使用Cocoa Pods引入过第三方framework

场景:

满足上述条件下,无论是老项目还是新建一个OC/Swift的空白项目,在模拟器上可以正常运行;但是当使用真机进行调试时,Xcode直接奔溃,控制台输出如上图

解决

依据关键词dyld: Library not loaded: @rpath/xx.framework/xx搜索,大部分的解答都认为是没有找到对应框架,需要嵌入操作(embed),然后进行过如下几种尝试:

cmd + shift + k清理工程

清空/Users/xx/Library/Developer/Xcode/DerivedData目录

general – embeded binaries 嵌入文件(这一步由于Xcode11的更新,新的做法如下图)

在 Build Phases 里添加 Copy Files

修改mach-O Type中的Dynam Library为Static Library

在keychain中将使用的调试证书的信任改为“使用系统默认”

重装rvm、Cocoa Pods、Xcode

但以上所有的方式皆未解决问题,于是改变思路为搜索code signature invalid for xx.framework,终于在苹果开发者论坛找到相关提问,并一路链接到GitHub上几个开源框架的issues(flutter和Alamofire无故中招😂)和Stack Overflow,最终找到:

简单来说,新版Xcode和iOS系统,在当我们使用非付费开发人员账号时,都有概率对嵌入的动态库发生无效签名。而解决的方式有:

有条件的话,清理非付费开发人员账号生成的证书与配置文件,改为付费人员对应的证书

打开Cocoa Pods的Podfile文件,注释掉use_frameworks!

在Podfile文件中添加一句use_modular_headers!

执行pod deintegrate+pod install重新配置一次第三方库

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[Xcode真机调试中活久见的BUG——【code signature invalid for Framework】]http://www.zyiz.net/tech/detail-108254.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值