制作framework/bundle文件注意事项

1、静态库:后缀名以”.a”或者“.framework”结尾,静态库链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝;

动态库:后缀名以”.dylib”或者“.framework”结尾,动态库链接时不复制,程序运行时由系统动态加载到内存,供程序调用。而且系统只加载一次,多个程序共用,节省内存。

一般我们制作三方库,都是静态库。.framework同时包含可执行文件和header文件夹可以直接使用;.a文件只有可执行文件需要与.h头文件搭配使用。

2、如果framework中添加了category,则需要在引入framework的工程中build setting->other link flag里添加-ObjC否则会崩溃

3、头文件(pulic headers)位置在build setting里PUBLIC_HEADERS_FOLDER_PATH项设置

4、bundle中info.plist文件不要带有Executable file项,否则上传ipa到iTunes connect可能报错。可以直接移除整个info.plist文件。

bundle target -> build Phases -> Copy Bundle Resources 删除info文件路径即可。

5、bundle target需要修改修改build setting ->COMBINE_HIDPI_IMAGES->NO

这两项一个是OSX下的名字,一个是iOS下的名字,改为NO才可以存图片,不然存进去是tiff。

6、bundle target需要修改buildSetting->Versioning Systems->none

默认为Apple generic会在bundle文件下生成可执行文件,在上传iTunes connect会报错。

你可能感兴趣的:(制作framework/bundle文件注意事项)