Xcode编译时报_objc_class_$_"XXXXXX ",referenced from解析之一
今天在导入一个第三方库时,用真机调试一直正常,改用模拟器,突然报了这个错误,一时纳闷,只好找朋友求助。从朋友那里得知,这是因为所用的SDK不支持X86_64造成的,因为模拟器和真机的架构是不一样的,那么我们怎么知道报这个错时是因为SDK不支持X86_64的原因呢,且听我细细讲解。
文章图片
文章图片
首页打开你的终端,输入lipo-info,然后将你sdk中的.a文件拖入其中,这时我们看到了这样一行命令(sdk中.a的路径)
文章图片
文章图片
然后点回车,我们看到下图
文章图片
文章图片
在绿框中,我们清晰的看到,没有X86_64的显示,因而断定不支持模拟器调试,模拟器调试报错。
没办法,只好找做sdk的技术人员,他们也很给力,一连给了3个.a文件,有支持真机的,支持模拟器的,有真机模拟器都支持的。不过这里提醒大家一点,有模拟器真机都支持的sdk固然方便,但是会造成ipa包的大小变大,如果app的大小比较在乎,建议调试时用都支持的,打包上线时再换成只支持真机架构的.a文件。
好了,让我们在终端用同样的方法来看一下新的.a文件所支持的架构
文章图片
文章图片
绿框中我们看见,可支持X86_64,哇,连i386都支持了,真够意思!~替换掉.a,我们的问题就解决了。如果你是单人开发,用不到svn,可以到此就结束了。如果你是多人开发,考虑到替换.a文件会造成svn的一系列问题,请看我的下一篇博客。
【Xcode编译时报_objc_class_$_"XXXXXX ",referenced from解析之一】
推荐阅读
- 调取接口时报404错误(ID:16)
- iOS,打Framework静态库
- 《Unix网络编程》第一卷第三版|《Unix网络编程》第一卷第三版 源码编译
- maven使用tomcat7插件编译jsp出错
- 嵌入式(编译内核、根文件系统等)
- 打开Anaconda|打开Anaconda Navigator 时报错 error 5 拒绝访问
- Centos6源码编译安装2.4版本http服务步骤
- 一键编译部署Mysql
- 防止sql注入
- Xcode|Xcode 11.2 开启推送按钮