使用静态库的一些问题 -all_load
1、使用类目
在我们的静态库中涉及到 类目 catagory的使用时,会崩溃;
此时我们需要设置project的Info里面的Link Flag处,增加-all_load,这样会链接所以存在的symbol;
这是我们常用的一种处理方法,除此之外我们还可以使用以下方法:
若我们使用了类目
"NSObject+SBJSON.h"
我们在h,m文件分别增加以下声明
@interface DummyClass_NSObject_SBJSON {}
@end
@implementation DummyClass_NSObject_SBJSON
@end
2、使用nib
若封装静态库的时候我们使用了xib文件,亦有可能会出现此种形式的崩溃
Unknown class XXX in Interface Builder file
此处由于在代码中class XXX你并未引用过,具体的原理我也没有特别弄清楚,还希望高手帮助我们解释一下;
我暂时做的处理时在接口处优先将这些 class 执行一个方法, 比如 [Class class];
这个问题的原因应该是由于原先我的代码中并没有调用到 class XXX 相关方法;
而静态库的一个优点是:链接器可以从静态库中只取出需要的部分来做链接。故没有链接 这些没有调用过方法的 class;
暂时用上面的解决方案解决了,不知道有没有更好的方法来解决这个问题;
以下两种情况都可以设置project的Info里面的Link Flag处,增加-all_load,解决
转:http://blog.csdn.net/leonpengweicn/article/details/6799994
在使用静态链接库时,如果出现一些莫名其妙的链接问题,如下提示:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CPTMutableNumericData setDataType:]: unrecognized selector sent to instance 0x1edcee60'
可尝试设置Link Flag 为 -all_load 。
使用静态库的一些问题 -all_load的更多相关文章
- OC静态库里NSClassFromString得到nil的解决
如果你在静态库中有从类名反射回类的代码, 如下: NSString *myClassStr = @"myClass"; Class myClazz = NSClassFromStr ...
- ios 静态库冲突的解决办法
最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了.发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理 ...
- Xcode 创建.a和framework静态库(转载)
库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...
- ios 开发中 动态库 与静态库的区别
使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...
- 【iOS】配置和使用静态库
上一篇 我们演示了了如何创建自己的静态库,最终生成多个.a文件,根据需要引用工程就可以直接使用静态库了,但是有个很麻烦的问题,模拟器用的库和真机的不是同一个,当我们切换的时候需要更换静态库,有两种方式 ...
- iOS 解决一个因三方静态库冲突产生的duplicate symbol的问题
最近在开发项目时编译三方.a时出现了冲突,原因是存在duplicate symbol. <1>模拟器编译时,应用的即时通讯模块采用的三方库(容联云),和视频监控模块采用的三方库(海康威视) ...
- 经验分享:Xcode 创建.a和framework静态库【转】
作者:Haley_Wong 最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态 ...
- iOS开发之静态库(一)—— 基本概念
在项目开发过程中,经常出现优秀代码重用现象,又或者提供给第三方功能模块却又不想让其看到源代码,这些时候,通常的做法是将代码封装成库或者框架,这些在Windows编程或Linux编程中非常容易实现的过程 ...
- 【iOS】编译静态库
与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图s ...
随机推荐
- Asp.net MVC NPOI导出Excel
public class NpoiMemoryStream : MemoryStream { public NpoiMemoryStream() { AllowClose = true; } publ ...
- 2款适合HTML做音频和视频的插件
Flowplayer-视频播放器 Flowplayer 是一个开源(GPL 3的)WEB视频播放器.您可以将该播放器嵌入您的网页中,如果您是开发人员,您还可以自由定制和配置播放器相关参数以达到您要的播 ...
- MFC+WinPcap编写一个嗅探器之四(获取模块)
这一节主要介绍如何获取设备列表,比较简单 获取设备列表主要是在CAdpDlg中完成,也就是对应之前创建的选择适配器模块,如图: 当打开选择适配器对话框后,在列表视图控件中显示当前主机所有适配器及适配器 ...
- Keras中RNN不定长输入的处理--padding and masking
在使用RNN based model处理序列的应用中,如果使用并行运算batch sample,我们几乎一定会遇到变长序列的问题. 通常解决变长的方法主要是将过长的序列截断,将过短序列用0补齐到一个固 ...
- 【LOJ】#2244. 「NOI2014」起床困难综合症
题解 写水题放松一下心情 二进制有个很好的性质是每一位是独立的,我们按位贪心,先看这一位能不能填1,然后看看如果这一位填0那么运算后最后这一位是不是1,是的话就退出,然后看看这一位如果填1最后是1这一 ...
- 记录移动端html界面中底部输入框触发焦点时键盘会把输入框遮挡的问题
//浏览器当前的高度 var oHeight = $(document).height(); //监听窗口大小的时候动态改变底部输入框控制器的定位 $(window).resize(functio ...
- C#.net实现图片上传功能
C#.NET前台:<asp:Image ID="imgFood" runat="server" /> <asp:FileUpload ID=& ...
- 实现Ecshop注册页面手机号唯一的验证
如果Ecshop实现了用手机号码来登陆,那么就需要在注册时保证会员所填写的手机号是唯一的,也就是说手机号还未被注册,那么该怎么来检测填写的手机号是否注册过了呢? 一.参考ecshop检测邮箱 因为注册 ...
- 人工智能我见及特征提取mfcc算法理解
一.人工智能 从LeNex手写数字识别,AlexNet图像识别,到无人驾驶汽车,再到Alpha Go.Alpha Go Zero的横空出世,人工智能无疑已经成为了当下科技的大热.那么什么是人工智能呢? ...
- 四、redis系列之主从复制与哨兵机制
1. 绪言 在现实应用环境中,出于数据容量.容灾.性能等因素的考虑,往往不会只使用一台服务器,而是使用集群的方式.Redis 中也有类似的维持一主多从的方式提高 Redis 集群的高可用性的方案,而其 ...