为了避免framework中需要使用到的图片资源、音乐资源等与接入framework工程中的资源相冲突。建议把framework文件中使用到的资源存放进bundle文件中,与framework文件搭配使用。
创建bundle
方式一:创建bundle的target,常用-方便与framework工程联调
在framework工程中选中target,点击targets下方的+,创建一个bundle的target,仅macOS下有bundle模板但是制作的bundle文件通过修改Base SDK,iOS平台也可以使用。
image.png
修改bundle文件的使用平台(Base SDK)为iOS,build setting -> Base SDK
修改build setting ->COMBINE_HIDPI_IMAGES->NO
这两项一个是OSX下的名字,一个是iOS下的名字,改为NO才可以存图片,不然存进去是tiff
修改buildSetting->Versioning Systems->none
默认为Apple generic会在bundle文件下生成可执行文件,在上传iTunes connect会报错。
每次编译这个target生成bundle文件即可使用,如果编译报is not configured for Running...可选择Edit scheme把bundle的scheme删除了重新添加。
方式二:直接创建bundle文件夹
直接创建一个文件夹,修改后缀为.bundle,然后把bundle文件夹拖入framework工程中,把资源文件拖入到bundle文件夹下即可。
使用bundle文件
#define TestBundleName @"TestBundle.bundle"
#define TestBundlePath [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:TestBundleName]
#define TestBundle [NSBundle bundleWithPath:TestBundlePath]
//获取bundle中图片
NSString *imgPath = [TestBundle pathForResource:@"imagename" ofType:@"png"];
UIImage*image = [UIImage imageWithContentsOfFile:imgPath];
网友评论