想起之前再给一个旧版本手机build测试版本的时候,发生了一个错误:

第一次遇到这个问题的时候,我看到是最后一行:Reason: image not found ,说出来不怕笑话,我第一反应是觉得有某些图片丢失了,然后开始了漫漫地寻找丢失图片之路。。。

此处省略10k字。。。

好吧,大侠请重新来过,认真研究这几行提示,说是有一个动态库没有被载入。。。

dyld: (the dynamic link editor)动态链接器,其源码是开源的。
image: 程序中对应实例可简称为image(如程序可执行文件,Framework库,bundle文件)。
dyld主要负责初始化程序环境,将可执行文件以及依赖库与插入库加载进内存生成对应的image(镜像文件)对象,
对这些image进行链接,调用各image的初始化方法等。  

此image非彼image。。。现在想起来还是觉得当时自己挺搞笑的。。。

一看这个动态库的名字 UserNotificationsUI.framework 这是ios10之后才支持的,然而现在的目标手机是ios9+版本,所以造成了无法载入这个库的错误,

从代码里找到:

#import  <UserNotifications/UserNotifications.h>

我们知道ios10之后的版本注册通知需要导入这个头文件,难道是导入这个头文件之后,会加载那个动态库吗?

为了更直观我直接创建一个新的程序,

只在这里面添加这个动态库,然后给ios9+版本的手机build,发现即是不导入头文件该动态库也会被加载,又出现了之前的image not found 的错误。

接着看这个动态库的选项(Status),发现有Required和Optional两种,尝试把Status换成Optional,重新build,发现通过了。

查阅相关资料后发现:

强引用(Required)的framework是一定会被加载到内存的,
但是弱引用(Optional)的framework只在需要时才会被载入内存,

原来是酱紫。。。ios9+的手机载入了本身不存在的库,所以导致了错误。

好了,改为Optional,搞定,吃饭去了。

真机调试错误 Reason: image not found想到的相关推荐

  1. xcode真机调试错误

    今天在xcode运行一个真机的时候突然跳出这个错误 错误提示:The entitlements specified in your application's Code Signing Entitle ...

  2. Xcode真机调试中“There was an internal API error“错误解决方法

    Xcode真机调试中"There was an internal API error"错误解决方法 参考文章: (1)Xcode真机调试中"There was an in ...

  3. Xcode真机调试中There was an internal API error错误解决方法

    xcode7更新之后使用真机调试,在IOS8的一台iphone6也没问题.IOS9.2的一台iphone6s也没问题.但是在IOS7.0的一台iPhone4s上面在最后安装的时候居然安装失败,提示 T ...

  4. iOS 真机调试出现”A signed resource has been added modified or deleted“错误的解决办法

    自从某个项目添加了todayExtention之后,在真机调试时,只要源文件稍有改动,经常会遇到如下图这样的错误,而其他的项目都正常,很是恼人! 之前遇到这样的错误,一般都是Clean(⌘ + K), ...

  5. CocosCreater 发布微信小游戏 真机调试 找不到json 以及4930错误

    之前发布微信小游戏的时候遇到一个bug,真机调试的时候才出现,报错一堆找不到json和很多4930错误,很头疼找了半天也没有解决方案,直到看到一篇帖子中的一个回复,启发了我,但是原链接我找不到了,就不 ...

  6. iOS开发常见错误代码对照表---真机调试常见错误及解决方案

    iOS真机调试常见错误及解决方案 地址https://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref ...

  7. 【错误记录】eclipse,android,logcat日志无法打印,真机调试

    eclipse调试android程序,当使用真机时system.out,log.i等日志在logcat里面打印不出来(但能打印出来其他一堆系统消息),而使用模拟机一切正常,怎样才能在真机调试时也能在l ...

  8. ios程序连接真机调试

    对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元.然后要创建证书请求CSR,创建步骤如下: 设置OCSP和CRL为 ...

  9. iOS 12 真机调试 Xcode 9 提示 Could not locate device support files.

    升级 iOS 12 之后,使用 Xcode 9 真机调试会提示错误: Could not locate device support files. This iPhone 6 Plus is runn ...

  10. Xcode7.2如何真机调试iOS 9.3的设备

    在测试iOS app或者是开发过程中,总会遇到各种各样的升级,比如XCode的升级,MAC OS 的升级,iOS系统升级,这种种升级,个人比较讨厌的是iOS系统的升级,它总是在你调试代码或者是测试过程 ...

最新文章

  1. ms-sql是mysql吗_mssql和mysql有哪些区别?
  2. ios取两个数之间的随机小数_如果取到小数区间内的任一数字?
  3. wordpress发布模块_如何用WordPress打造出一个类似知乎的问答站点
  4. 解决echart中:Cannot read property ‘queryComponents‘ of undefined
  5. FPGA RAM存储器设计
  6. lua打开浏览器并加载网页_使用Lua做Web开发
  7. 【scrapy windows环境下安装遇到的问题】
  8. LOCAL_SHARED_LIBRARIES 与 LOCAL_LDLIBS,LOCAL_LDFLAGS的区别
  9. 【MDVRP】基于matlab遗传算法求解带距离的多车场车辆路径规划问题(含单线路局部优化)【含Matlab源码 1170期】
  10. 使用Robotframework-ride,导入Selenium2Library库后缺少“Open Browser”关键字
  11. html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符
  12. 总结:form中使用onSubmit=return false防止表单自动提交,以及s...
  13. 互联网金融牌照有哪些 金融牌照一览表
  14. AnyDesk 未连接到服务器。请检查您的互联网连接
  15. Linux: Top命令查询结果参数详解
  16. Docker的上手(Ubuntu140.4 Mate)
  17. 5G终于来了,物联网将是未来五年要重点关注的行业
  18. 将字符串中的换行替换成空
  19. 关于计算机的英语谜语,英语谜语大全及答案100个|英语谜语(50条)
  20. 放大器同向输入好还是反相输入好(转)

热门文章

  1. 修改设备管理器信息,修改我的电脑系统属性,修改dxdiag信息
  2. CVE-2017-0199漏洞分析
  3. Neural Machine Translation by Jointly Learning to Align and Translate论文及代码助解
  4. 基因组Masked作用
  5. Numpy掩码数组masked arrays
  6. 8月第4周基金排行榜 | TokenInsight
  7. AR软件开发一个要多少钱?分享AR内容制作市价
  8. 前端程序员《HTML》学习笔记(3)之标签学习
  9. 【2021年4月电影网络关注度榜】《我的姐姐》登顶热度榜及票房榜
  10. 快速应对面试--分门别类--6.链表