iOS库-创建静态库时的注意事项

  1. 无论是在创建framework还是a,在Build Settings / Architectures中,有一个配置选项为Build Active Architectures Only,表示是否只编译当前架构,将DebugRelease都设置为No,就只区分SimulatoriPhone模式了。一般不需要这样设置

  2. 无论是在创建framework还是a,在Build Settings / Architectures中,有一个配置选项为Architectures,表示可编译的架构,选中 / Other / 点击+进行添加 / 输入armv7s即可,armv7siPhone 5iPhone 5c处理器的架构,但其实如果静态库已支持armv7,那么同时armv7s也一样支持。一般不需要这样设置

    1

    2

    3

  3. 无论是framework还是a,可直接拖入实际项目中进行使用,如果framework是动态库Dynamic Library,需要添加到Embedded Binaries中。

  4. 创建framework或者a给别人使用时,如果想让用户自己选择对自己的项目有利的部分使用,可以修改一下在二进制库遗留的设置(无效代码和Debug符号): strip的意思是消除,一般没必要设置

    Strip Debug Symbols During Copy 设置为 No
    Strip Style 设置为 Non-Global Symbols
    Dead Code Stripping 设置为 No

  5. 无论是framework还是a

    若静态库中包含Category,使用时报 selector not recognized 错误,这时需要在Build Settings / LinkingOther Linker Flags 添加 -ObjC

    若静态库中引入了系统库,使用时需要在Build Settings / LinkingOther Linker Flags 添加 -ObjC -all_load,否则运行报错。

    若静态库用到了NSClassFromString,而使用时转换出来的class一直为nil。苹果官方提示出现为nil的情况,要么是该类不存在,要么是该类没有被load到。在Build Settings / LinkingOther Linker Flags 添加 -ObjC

  6. 使用时framework头文件找不到的情况,

  7. 创建时a配置头文件路径,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值