注意:如果创建的framework中使用了category类,则在使用framework的项目配置中【Other Linker Flags】需要添加参数【-ObjC]或者【-all_load】。从Xcode5开始用到系统自带的框架不用导入框架, 但是如果是在静态库中用到了这些框架还是必须导入-ObjC这个flag告诉链接器把库中定义的Objective-C类和Category都加载进来。这样编译之后的app会变大(因为加载了其他的objc代码进来)。但是如果静态库中有类和category的话只有加入这个flag才行。-all_load这个flag是专门处理-ObjC的一个bug的。用了-ObjC以后,如果类库中只有category没有类的时候这些category还是加载不进来。变通方法就是加入-all_load或者-force-load。-all_load会强制链接器把目标文件都加载进来,即使没有objc代码。-force_load在xcode3.2后可用。但是-force_load后面必须跟一个只想静态库的路径。
如果创建的framework类中使用了.dylib或者.tbd,首先需要在实际项目中导入.dylib或者.tbd动态库,然后需要设置【Allow Non-modular Includes ....】为YES,否则会报错"Include of non-modular header inside framework module"。
Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。
Dead Code Stripping设置为NO
Strip Debug Symbol During Copy 全部设置为NO
Strip Style设置为Non-Global Symbols
1、打开Xcode,新建工程。不要选择“Application”,选择“Framework & Library”。选择第一个,然后Next。
在TARGETS下选中工程,在Build Settings下更改几个参数。
在 Building Setting 中设置一下 Architectures,在原有基础上添加一行 armv7s
5、设置 Headers 和 Resources
在TARGETS -> Build Phases -> Headers 中添加头文件,Public 中添加公开的头文件
在TARGETS -> Build Phases -> Copy Bundle Resources 中添加framework中使用的bundle资源文件
问题:[bundle打包自动转换tiff格式的处理方法]
png图片如果用了@2x 、@3x会自动转换成tiff格式的图片。设置不转换的方法是 在bundle的target中 Build Settings 里的 COMBINE_HIDPI_IMAGES 设置为NO