加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用Xcode打包自己的framework

(2015-11-24 10:40:51)
标签:

framework

bundle

通用静态库

做了很久的ios开发,打包个属于自己的framework成为一个节省自己开发时间的很有效的方式。

1、如图,新建一个ios framework工程项目
http://s6/mw690/002tEha8zy6XfleIs8l95&690

2、如图,创建公共类以及sdk内部使用类
http://s11/mw690/002tEha8zy6Xfm57eKC1a&690

3、如图,在公共类CYSDK的类中创建允许用户使用的方法
http://s4/mw690/002tEha8zy6Xfmcsvgnd3&690

4、到此一个简单的framework就已经完成了,然而在此打包的framework只能在一个环境下使用,那如何将编译一个真机与模拟器通用的framework?我们需要用到lipo命令,
如图,我们使用终端打开生成的product

使用lipo 命令

lipo -create Release-iphoneos/CYFramework.framework/CYFramework Release-iphonesimulator/CYFramework.framework/CYFramework -output CYFramework

此时,我们生成了一个CYFramework文件,不多说了,上图
http://s15/mw690/002tEha8zy6XfmZPBhA8e&690


这时,我们距离大工告成只有一步之遥了,选取Release-iphoneos/CYFramework.framework,然后将生成的CYFramework替换掉原本的CYFramework

http://s10/mw690/002tEha8zy6Xfn39w8Ne9&690

这是等待我们的将是激动人心的测试,新建工程->导入framework->编译->成功调用,完美完成。

然而,理想很丰满,现实太骨感,在我们运行的时候,调用方法时会发现下面的crash消息

此时我们有两种方法,
1、如果我们需要的是静态库,我们需要如下设置
http://s3/mw690/002tEha8zy6Xfpmrst422&690
2、如果我们需要的是动态库,我们需要设置
http://s11/mw690/002tEha8zy6XfpsjCtA0a&690
至此,我们的framework 已经完成,可以举杯庆祝了。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有