关于xcode7生成的framework静态库文件,模拟器和真机framwork如何合并
2016-08-29 11:09
477 查看
关于xcode7生成的framework静态库文件,模拟器和真机framwork如何合并
前置部分条件
修改 Build Setting 的 属性 Mach-o Type = Static Library,不然打包之后的 Framework运行会崩溃在 edit Scheme 中,选中run - Build Configuration - release,
选中 Build Phases,再点击左边的+,新增一个 New Run Script Phase,然后在下面会多出一栏 Run Script,编辑黑色区域的内容
还有,在 Build Phases -> Headers,编辑头文件,把所有的文件,放入 Public 里,如果放入 project或者private编译出来的包显示无法找到该文件
如果你在静态库中加入了 Category 分类时,你需要在你需要打包的项目里, Build Setting -> Other linker Flags里,添加一句, -ObjC,然后当你把 framework 引入其他项目的时候,需要在那个被引入项目里,同样是 Build Setting -> Other linker Flags 添加 -all_load,引入静态库中的 分类,不然无法找到
if [ "${ACTION}" = "build" ] then INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}" #open "${DEVICE_DIR}" #open "${SRCROOT}/Products" fi
把以上内容复制进去,以前的打包,不是分为 真机模式和模拟器模式吗?分别用这两种模式运行一次键盘按钮 command + B 编译,(在第一次运行的时候,会报错,比如,先编译模拟器,显示的错误为:cp: /Users/rogueandy/Library/Developer/Xcode/DerivedData/RgFramework-ajtxefrptmusfqfucljaacrjdbpf/Build/Products/Release-iphoneos/RgFramework.framework/: No such file or directory,因为这是编译的模拟器,所以没有编译真机,你去看生成的framwork,它是存在的Release-iphonesimulator模拟器的framwork,因为模拟器和真机需要分开来编译生成,所以,报错很正常,不管,继续选择编译真机,就是用你的手机来编译,之后就肯定会显示 编译成功,此时,你看编译文件下下,是否同时存在了Release-iphoneos和Release-iphonesimulator,
此时,你的framework合并之后的文件,会在项目根目录里,有一个 Products 文件夹下,里面的那个framework 文件就是你真正合并之后的文件,拖入其他项目即可使用)。
相关文章推荐
- 如何创建一个静态库文件,并打包在模拟器和真机上都可以使用。
- iOS 关于真机和模拟器framework合并
- 合并第三方真机和模拟器的.framework或(静态库.a)文件的方法
- iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)
- 百度地图 - 合并模拟器和真机的静态库文件
- 转载 iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?
- iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)
- iOS 自动生成framework并自动进行模拟器和真机framework合并
- 关于真机模拟器framework和.a合并为通用的方法
- iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?
- iOS 关于真机和模拟器framework合并
- 百度地图 - 合并模拟器和真机的静态库文件
- 百度地图 - 合并模拟器和真机的静态库文件
- ios如何打包成一个通用的静态库文件(模拟器和真机都可以用)
- iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?
- iPhone 如何实现静态库文件 .a 在模拟器和真机下都可以使用
- Asp.net_关于如何利用编译器把[.cs]文件生成动态链接库[.dll]文件方法的总结
- 关于android系统framework文件夹中jar与odex文件的合并
- 使用lipo合并iPhone模拟器和真机的静态类库
- 关于ASP.NET MVC生成纯静态后如何不再走路由直接访问静态页面