真机调试错误 Reason: image not found想到的
想起之前再给一个旧版本手机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想到的相关推荐
- xcode真机调试错误
今天在xcode运行一个真机的时候突然跳出这个错误 错误提示:The entitlements specified in your application's Code Signing Entitle ...
- Xcode真机调试中“There was an internal API error“错误解决方法
Xcode真机调试中"There was an internal API error"错误解决方法 参考文章: (1)Xcode真机调试中"There was an in ...
- Xcode真机调试中There was an internal API error错误解决方法
xcode7更新之后使用真机调试,在IOS8的一台iphone6也没问题.IOS9.2的一台iphone6s也没问题.但是在IOS7.0的一台iPhone4s上面在最后安装的时候居然安装失败,提示 T ...
- iOS 真机调试出现”A signed resource has been added modified or deleted“错误的解决办法
自从某个项目添加了todayExtention之后,在真机调试时,只要源文件稍有改动,经常会遇到如下图这样的错误,而其他的项目都正常,很是恼人! 之前遇到这样的错误,一般都是Clean(⌘ + K), ...
- CocosCreater 发布微信小游戏 真机调试 找不到json 以及4930错误
之前发布微信小游戏的时候遇到一个bug,真机调试的时候才出现,报错一堆找不到json和很多4930错误,很头疼找了半天也没有解决方案,直到看到一篇帖子中的一个回复,启发了我,但是原链接我找不到了,就不 ...
- iOS开发常见错误代码对照表---真机调试常见错误及解决方案
iOS真机调试常见错误及解决方案 地址https://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref ...
- 【错误记录】eclipse,android,logcat日志无法打印,真机调试
eclipse调试android程序,当使用真机时system.out,log.i等日志在logcat里面打印不出来(但能打印出来其他一堆系统消息),而使用模拟机一切正常,怎样才能在真机调试时也能在l ...
- ios程序连接真机调试
对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元.然后要创建证书请求CSR,创建步骤如下: 设置OCSP和CRL为 ...
- 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 ...
- Xcode7.2如何真机调试iOS 9.3的设备
在测试iOS app或者是开发过程中,总会遇到各种各样的升级,比如XCode的升级,MAC OS 的升级,iOS系统升级,这种种升级,个人比较讨厌的是iOS系统的升级,它总是在你调试代码或者是测试过程 ...
最新文章
- ms-sql是mysql吗_mssql和mysql有哪些区别?
- ios取两个数之间的随机小数_如果取到小数区间内的任一数字?
- wordpress发布模块_如何用WordPress打造出一个类似知乎的问答站点
- 解决echart中:Cannot read property ‘queryComponents‘ of undefined
- FPGA RAM存储器设计
- lua打开浏览器并加载网页_使用Lua做Web开发
- 【scrapy windows环境下安装遇到的问题】
- LOCAL_SHARED_LIBRARIES 与 LOCAL_LDLIBS,LOCAL_LDFLAGS的区别
- 【MDVRP】基于matlab遗传算法求解带距离的多车场车辆路径规划问题(含单线路局部优化)【含Matlab源码 1170期】
- 使用Robotframework-ride,导入Selenium2Library库后缺少“Open Browser”关键字
- html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符
- 总结:form中使用onSubmit=return false防止表单自动提交,以及s...
- 互联网金融牌照有哪些 金融牌照一览表
- AnyDesk 未连接到服务器。请检查您的互联网连接
- Linux: Top命令查询结果参数详解
- Docker的上手(Ubuntu140.4 Mate)
- 5G终于来了,物联网将是未来五年要重点关注的行业
- 将字符串中的换行替换成空
- 关于计算机的英语谜语,英语谜语大全及答案100个|英语谜语(50条)
- 放大器同向输入好还是反相输入好(转)