iOS Framework的创建

环境:Xcode 8

1.创建framework

WX20170602-135146.png

WX20170602-155910.png

2.修改相关配置

1)设定SDK适配的iOS系统版本号

WX20170602-155552.png

2)选择性添加: armv7s

原因:
armv6, armv7, armv7s是ARM CPU的不同指令集,
armv6设备:iPhone, iPhone2, iPhone 3G,第一代、第二代iPod Touch;
armv7设备:iPhone 3GS,iPhone 4,iPhone 4S,iPad ,iPad 2,iPod Touch 3G,iPod Touch 4;
armv7s设备:iPhone 5,iPad4;
arm64设备:iPhone 5S,iPad Air,iphone6,iphone6plus,iPhone6s,iPhone6s Plus,iPhone7,iPhone7 Plus等;
  
  Xcode6更新后,默认不支持armv7s,如果你提供的Framework默认不支持armv7s架构,但是使用者要支持armv7s架构,这时就会有冲突,所以需要你选择性是否支持armv7s
WX20170602-135445.png

3)”Build Active Architecture Only” 设置为 “NO”

设置为NO的时候,会编译支持的所有的版本
设置为YES的时候,是为Debug的时候速度更快,它只编译当前的architecture 版本
WX20170602-135521.png

4)”Mach-O Type” 设置为 “Static Library”

framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库。
WX20170602-135709.png

5)根据SDK功能需要,来决定是否保留原头文件,个人习惯删掉重新创建一个继承自NSObject的文件

WX20170602-135742.png

WX20170602-140646.png
将自己创建的需要开放的文件拖入到 Public
WX20170602-140106.png

6)分别在模拟器和真机环境下编译SDK,在Products文件夹下选中打出来的包,show in finder ,回退一个目录,即可看到两个文件夹(Debug或Release模式自选)

WX20170602-143833.png

7)使用终端合并SDK

命令行语句:sudo lipo -create 真机SDKTest文件路径(步骤6中的圈起来的文件) 模拟器SDKTest -output 自定义合成文件存储路径(合成文件的名字SDKTest)

WX20170602-144855.png

注:framework相关问题

1. XXXXX is not an object file (not allowed in a library)

2.SDK中使用了第三方框架问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值