原因

1.动态库的签名需与项目的签名一致才可以真机调试
2.动态库打包发布后有发布证书,必然与我们code时候的签名证书不一样,因此需要重签名
3.若commit的时候把个人用的动态库一起push到分支上,那么teammate拉了代码以后将其本地的动态库签名替换成提交者的签名,与其本地签名不一致,就会导致出现该问题-fatal error @#$%^&*..问题,只需要重签名一次即可

dyld: Library not loaded: @rpath/XX.framework/XXReferenced from: /var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/iDoctorsReason: no suitable image found.  Did find:
/private/var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/XX.framework/XX: code signing blocked mmap() of '/private/var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/XX.framework/XX'
Message from debugger: Terminated due to signal 6

4.keychain中证书一般是两个,一个个人的开发者证书,另一个则是在公司的group中的开发证书。
5.如果keychain中有其他的过期或其他原因引起的重复失效证书,同样可能会导致fatal error问题。
6.如果fatal error,最直接的方法就是重签名
7.查看动态库的签名证书 codesign -d -vv XX.framework — (在动态库所在目录下的执行该命令 ex.Desktop/iDoctors/iDoctors)

步骤:

注意:此方法适开发人员需要使用框架并在真机上运行调试所开发的app程序。

问题: 从App发布平台上下载的XX.framework是使用公司发布证书签名的,在开发人员没有安装发布证书的情况下,这个库是不能用于真机调试的 (模拟器不检查库签名所以可以正常使用)。在真机上运行使用原始XX库的程序,会报如下错误
dyld: Library not loaded: @rpath/XX.framework/XX
Referenced from: /var/containers/Bundle/Application/DADE6BDC-C7F6-4155-AA57-6C4CA6598BAB/HelloWorld.app/HelloWorld
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/DADE6BDC-C7F6-4155-AA57-6C4CA6598BAB/HelloWorld.app/XX.framework/XX: mmap() errno=1 validating first page of ‘/private/var/containers/Bundle/Application/DADE6BDC-C7F6-4155-AA57-6C4CA6598BAB/HelloWorld.app/XX.framework/XX’

第一步:删除原有XX.framework母包的签名信息

  1. 删除_CodeSignature目录
    删除前

    删除后

第二步:用个人开发证书重签名

  1. 列出电脑上可用的签名。打开Mac终端,输入
    /usr/bin/security find-identity -v -p codesigning
  2. 根据使用XX的App所使用的签名,对XX.framework重签名。终端输入
    codesign -fs “iPhone Developer: xxxx (XXXX)” XX.framework

重签名后的XX即可用于开发人员真机调试了。

iOS动态库重签名步骤相关推荐

  1. ios .framework动态库重签名

    真机上运行.framework时,如果报 dyld'dyld_fatal_error:dyld: Library not loaded: @rpath/XX.framework/XXReference ...

  2. ios动态库注入把越狱手机上自制的动态库安装到普通手机上

    文章目录 预备条件 导出越狱手机上的app包和自己注入的动态库 导出自己写的tweak动态库文件 查看依赖库 执行命令查看程序依赖的动态库名字 用machoview查看 安装insert_dylib ...

  3. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  4. IOS苹果ipa重签名工具(苹果签名工具,ios签名工具,支持Windows系统和Macos系统)

    此款ios苹果ipa重签名工具支持windows系统和Macos系统,是一款完全免费的IPA签名工具,签名时需要用到p12证书文件和provision描述文件,可以使用ios企业证书.个人证书对IPA ...

  5. 【Android 逆向】逆向修改游戏应用 ( 分析应用结构 | 定位动态库位置 | 定位动态库中的修改点 | 修改动态库 | 重打包 )

    文章目录 一.应用结构分析 二.定位动态库位置 三.定位动态库中的修改点 四.修改动态库 五.重打包 一.应用结构分析 分析上一篇博客 [Android 逆向]逆向修改游戏应用 ( APK 解析工具 ...

  6. iOS动态库实现插件化

    1.动态库制作 p1.png 选择Framework,创建动态库. Framework分动态.静态两种,可以通过下面路径查看 TARGETS->Build Settings(搜索mach-o)- ...

  7. IOS动态库打包导入工程报错Library not loaded: @rpath/SwiftFrame.framework/SwiftFrame

    IOS15动态库打包导入工程报错Library not loaded: @rpath/SwiftFrame.framework/SwiftFrame 环境: IOS 15.0 Xcode 13.0 最 ...

  8. iOS APP反重签名技术详解

    转载请注明出处,作者:秦伟 什么是签名? 简单的说,签名(signature)是苹果公司的一种安全机制,APP的签名有效才被iOS系统允许执行. 签名包含了开发者证书的信息等,如下图所示: 在Xcod ...

  9. iOS越狱包 重签名

    重签名目的:越狱包重签名运行到非越狱手机进行调试. 手动重签名大体步骤(以墨迹天气app 为例子): 1.删除插件Plugins文件夹以及里面的内容. 2.Watch 直接干掉!()(微信有这一步,其 ...

  10. windows7下,Java中利用JNI调用c++生成的动态库的使用步骤

    1.从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-wi ...

最新文章

  1. Spring Boot实战pdf
  2. Intellij IDEA 提交代码到远程GitHub仓库
  3. hibernate中表的复合主键映射表
  4. 【组原】广州大学计算机组成原理考试部分题+复习资料(2020-2021)
  5. python找色_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
  6. mysql查询死锁的次数_一次神奇的MySQL死锁排查记录
  7. java 7.函数-递归_带有谓词的Java中的函数样式-第2部分
  8. mysql中ak替换键_数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束...
  9. 软件测试工程师-数据库
  10. 目前国内的语音识别技术是什么水准?
  11. java代码无限弹窗制作_vbs无限弹窗制作方法
  12. 深入了解C++用什么软件编程
  13. 传奇服务器怎么修改背包金刚石显示,教你在服务器加自己的装备
  14. nutch ajax mysql_Nutch爬取Ajax请求的动态网页
  15. 常见计算机主机内部硬件设备,计算机硬件组成详解
  16. Java,设计,功能权限和数据权限,用户、角色、权限和用户组
  17. 我的jQuery之路(笔记)--6
  18. tpc ds mysql_tpc-ds测试tidb结果
  19. iPad3/iPad2/iPad 5.1.1完美越狱WIN版详细教程
  20. 用TypeScript写界面就是个笑话, 狗屎级别的体验.根本体验不到脚本语言带来的好处.

热门文章

  1. 只有程序员才能读懂的西游记
  2. 贝叶斯网学习笔记(一)
  3. 安装Anaconda之后cmd打不开
  4. rdl报表 mysql_SSRS报表服务随笔(rdl报表服务)-创建一个简单的报表
  5. postgresql不支援 10 验证类型
  6. snkrs抽签协议获取
  7. 软考中高级项目管理案例分析-进度管理
  8. F.grid_sample
  9. 大数据对人们生活的积极影响_大数据对生活带来的影响
  10. 你真的了解“手机端的 C/S架构 向 B/S架构 迁移”吗