码迷,mamicode.com
首页 > 移动开发 > 详细

iOS制作自己的Framework框架

时间:2019-02-01 15:54:08      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:package   imu   通用版本   EOS   直接   dead   成功   路径   nbsp   

 

1.新建工程选择iOS —> Cocoa Touch Framework

技术分享图片

2.进入工程将工程自带的文件干掉

技术分享图片

 

3.导入自己所需的文件

技术分享图片

4.4.TARGETS —> Build Settings 中设置相关项
(1).Build Active Architecture Only 设置为NO的意思是当前打包的.framework支持所有的设备.否则打包时只能用当前版本的模拟器或真机运行.

技术分享图片

 

 2).Build Setting 搜索linking 设置Dead Code Stripping 为NO是编译选项优化,包瘦身,(可不改) Mach-O Type 选中StaticLibrary (静态库) Xcode默认是动态库.

技术分享图片

3). 设置framework最低支持的版本

技术分享图片

 

 5.TARGETS —> Build Phases
将需要呈现给来的头文件,直接从Project拖到Public中. 不想呈现出来的.h文件不建议拖到Private中. 放在project中即可

技术分享图片

6.在进行编译之前应该设置为release模式

技术分享图片

 技术分享图片

 

 

7.来到工程目录树,Products下的文件都是红色的,现在我们选中.framework文件,分别真机和模拟器运行一遍(成功运行
然后Show in Finder 找到对应的 .framework文件(上级目录可以看出是真机还是模拟器文件夹)
真机和模拟器运行成功的文件是在这俩个文件夹内的

技术分享图片

内部分为Debug版本和Release版本,同时两者有分为真机版本和模拟器版本framework(iphoneos后缀代表真机版本,iphonesimulator后缀代表模拟器)

技术分享图片

8.真机版本和模拟器版本framework合并
(1).查看架构信息
打开终端使用命令行 lipo -info 查看framework架构信息
真机版本

技术分享图片

 技术分享图片

(2).合并真机模拟器版本
因为以上获取的framework只能在对应的版本上运行(即真机只能在设备上运行模拟器版本只能在模拟器上面运行使用)所以需要合并为通用版本
命令行语句:sudo lipo -create (此处请填写真机AppVest文件路径) (此处填写模拟器AppVest文件路径) -output 自定义合成文件存储路径(合成文件的名字AppVest)
技术分享图片

根据以上命令就在相应位置生成了新的AppVest文件,然后把这个新生成的文件拷贝到相应的framework中进行AppVest文件替换

(3).查看替换后的framework支持全部真机模拟器架构

技术分享图片

9.制作好的framework集成使用
把制作好的framework拖入到工程中,引用相关头文件,然后初始化进行暴露方法调用

技术分享图片

 

大功告成了。 

iOS制作自己的Framework框架

标签:package   imu   通用版本   EOS   直接   dead   成功   路径   nbsp   

原文地址:https://www.cnblogs.com/hecanlin/p/10345833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!