现在的位置: 首页 > 综合 > 正文

framework的合并

2018年08月03日 ⁄ 综合 ⁄ 共 1142字 ⁄ 字号 评论关闭

打开终端。输入pwd 先看一下当前所在的目当路径。使用ls 查看当前目录下的文件夹。

cd /users/[用户名]/Desktop/fmwksqlite/DerivedData/fmwksqlite/build/products/release-iphoneos/tgfmwk.framework (Heqin注:这里可能会需要的路径是framework/tgfmwk)

然后使用lipo -info tgfmwk 查看一下库的信息。

看到输出Non-fat file: tgfmwk is architecture: armv7

这里表明只支持真机。

同样的再来看看模拟器的。

cd /users/[用户名]/Desktop/fmwksqlite/DerivedData/fmwksqlite/build/products/release-iphonesimulator/tgfmwk.framework

然后使用lipo -info tgfmwk 查看一下库的信息。

看到输出Non-fat file: tgfmwk is architecture: i386

可见要想真机和模拟器都可以使用该framework需要将这两个版本的tgfmwk文件进行合并。

使用命令lipo -create xxxx/tgfmwk  xxxxx/tgfmwk  -output  tgfmwknew (Heqin:合并时,也是合并

lipo -create Release-iphonesimulator/BDLBSLogger.framework/Versions/A/BDLBSLogger Release-iphoneos/BDLBSLogger.framework/Versions/A/BDLBSLogger
-output BDLBSLogger

合并完成后,再把BDLBSLogger替换上面simulator文件夹或者iphoneos对应目录下的一个,然后这个文件夹就是可以用来同时供i386和arm使用)

其中xxxx表示路径,一个是真机的tgfmwk所在路径,一个是模拟器tgfmwk文件所在路径,然后输出tgfmwknew新的文件。输出后,只需要将这个tgfmwknew重命名为tgfmwk然后复盖原来的tgfmwk 文件即可。把复盖后的这个tgfmwk.framework考出来到具体使用的项目就可以实现真机和模拟器通用的framework 了。

看一下tgfmwknew的信息。

显示:Architectures in the fat file: tgfmwknew are : armv7  i386

可见这个合并的文件已具备了armv7(真机)和i386(虚拟机)的能力。

 

Heqin:另外, Google上有一个可以生成伪framework的工具,可以下载下来使用,比较方便

抱歉!评论已关闭.