打开终端。输入pwd 先看一下当前所在的目当路径。使用ls 查看当前目录下的文件夹。
cd /users/[用户名]/Desktop/fmwksqlite/DerivedData/fmwksqlite/build/products/release-iphoneos/tgfmwk.framework
然后使用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
其中xxxx表示路径,一个是真机的tgfmwk所在路径,一个是模拟器tgfmwk文件所在路径,然后输出tgfmwknew新的文件。输出后,只需要将这个tgfmwknew重命名为tgfmwk然后复盖原来的tgfmwk 文件即可。把复盖后的这个tgfmwk.framework考出来到具体使用的项目就可以实现真机和模拟器通用的framework 了。
看一下tgfmwknew的信息。
显示:Architectures in the fat file: tgfmwknew are : armv7
可见这个合并的文件已具备了armv7(真机)和i386(虚拟机)的能力。
由于OCSqlite这个类使用到了libsqlite3.dylib ,所在在调用framework库时也需要添加这个动态库。