在编写第三方库时, 如果需要用到一些图片、声音资源, 甚至是nib(xib), 就需要把这些资源打包成一个bundle. 一开始在其他第三方库中看到bundle的时候, 觉得它好像是一个很高级的东西. 但是事实上, bundle就是一个普通得不能再普通的文件夹, 只是加上了.bundle
后缀, 一下子就高大上了起来.
注意要素:
1、将资源文件放到文件夹里,重命名为XX.bundle
2、若bundle中有使用xib文件的,可以从对应的打的.framework包里,找到对应的.nib文件。copy这个.nib文件到.bundle里。这样bundle里就有对应的xib资源文件。
3、.framework源代码,可以依赖pod工程。
4、工程创建MySDK【cocoa Touch Framework】创建配置自已百度。
5、合成.framework的源代码里,加载xib、image需要的路径有些改变。宏定义后,用这种方式加载。不然主工程嵌入.framework后,代码找不到文件地址。
#define MYFRAMEWORK_BUNDLE_IMG(imageName) [@"MySDK.bundle" stringByAppendingPathComponent:imageName]
#define MYFRAMEWORK_BUNDLE [NSBundle bundleWithPath: [[NSBundle mainBundle] pathForResource:@"MySDK" ofType: @"bundle"]]