关于xcode7生成的framework静态库文件,模拟器和真机framwork如何合并

原创 2016年08月29日 11:09:02

关于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-iphoneosRelease-iphonesimulator
此时,你的framework合并之后的文件,会在项目根目录里,有一个 Products 文件夹下,里面的那个framework 文件就是你真正合并之后的文件,拖入其他项目即可使用)。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

转载 iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?

iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?  最近在做一个购票项目,支付与银联合作,他们提供2个.a的静态库文件,一个真机使用,一个是模拟器使用。但是每次真机测试的时候...

iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)

iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?  最近在做一个购票项目,支付与银联合作,他们提供2个.a的静态库文件,一个真机使用,一个是模拟器使用。但是每次真机测试的时候...

xcode合并模拟器和真机静态库的编译

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法...
  • yuanya
  • yuanya
  • 2013-08-22 13:24
  • 1048

xcode合并模拟器和真机静态库的编译

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法...

xcode合并模拟器和真机静态库的编译

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法...

MUPDF iOS真机静态库文件

  • 2015-09-21 16:10
  • 16.73MB
  • 下载

【iOS】IOS 4.2 编写真机和模拟器通用的framework(静态库)

本文转自http://blog.csdn.net/fengsh998/article/details/8290687

XCode 8.3 上真机与模拟器Framework的合并

在打包SDK的过程中,Xcode编译出的framework分为真机与模拟器两种,但在使用过程中,我们需要将两种进行合并。本文简单总结了下合并的过程。

XCode打包静态库文件

这里以打包rfc3951静态库为例 创建一个静态库工程 命名为librfc3951 将文件夹librfc3951下生成的librfc3951.h、 librfc3951.m文件删除,加入 rfc...
  • reylen
  • reylen
  • 2015-08-19 14:40
  • 2916
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)