pod 模块开发注意事项
2019-11-13 本文已影响0人
鸿伟x
坑1: pod模块中bundle资源的路径
在主项目中 podfile 文件里
加入use_frameworks!时
use_frameworks! #会把资源都打包自己的framework中的bundle里
#此时bundle的路径为 xxx.app/DPSDKKIT.framework/DPSDKKIT.bundle
未加入use_frameworks!时
#use_frameworks! #会把资源都打包在mainbundle里
#此时bundle的路径为 xxx.app/DPSDKKIT.bundle
所以如果在pod模块中用到的文件存在了bundle里
例如:
.podspec文件里
s.resource_bundles = {
'DPSDKKIT' => ['DPSDKKIT/xxxxx.xcassets']
}
当需要调用xxxxx.xcassets里的资源时,要这样使用
+ (UIImage *)dpImageNamed:(NSString *)name {
NSString *path = [[NSBundle mainBundle] pathForResource:@"DPSDKKIT" ofType:@"bundle"];
if(!path){
path = [[NSBundle mainBundle] pathForResource:@"Frameworks/DPSDKKIT.framework/DPSDKKIT" ofType:@"bundle"];
}
NSBundle *bundle = [NSBundle bundleWithPath:path];
UIImage *image = [UIImage imageNamed:name inBundle:bundle compatibleWithTraitCollection:nil];
if (!image) {
image = [UIImage imageNamed:name];
}
return image;
}