在SDK开发当中,将资源打包成resource.bundle文件,资源加载的代码:
+ (UIImage *)classFunc_imageBundleWithName:(NSString *)imageName {
return [UIImage imageNamed:[NSString stringWithFormat:@"XHSDKResource.bundle/%@", imageName]];
}
Demo接入SDK的时候只需要把resource.bundle和target绑定即可
至于resource.bundle文件放在哪个目录下(最好放在主工程根目录下),根本不需要关注,因为最后打包后,resource.bundle文件都是在项目根目录下 重点!重点!重点! 重要的事情说三遍
使用Unity 2019.4.26版本开发游戏接入SDK,并导入SDK的资源resource.bundle文件,最后打包的时候发现resource.bundle文件和上面demo打的包路径完全不一致,路径是”Frameworks/UnityFramework.framework/resource.bundle“,这样就会导致SDK无法读取到资源文件。
最终原因:上baidu,google 科普了才发现是Unity在2019.3版本之后打包会多一个Frameworks/UnityFramework.framework。
解决方案:
+ (UIImage *)classFunc_imageBundleWithName:(NSString *)imageName {
return [UIImage imageNamed:[NSString stringWithFormat:@"Frameworks/UnityFramework.framework/resource.bundle/%@", imageName]];
}
注意:修改了路径,修改了路径,修改了路径,重要的事情说三遍
resource.bundle资源加载代码,修改后重新打包给到CP即可,打完包记得还原哦,否则SDK的Demo无法读取文件。
这个方案不能做到一劳永逸只是暂时的,目前没有更好的办法,只为了不耽搁业务进展。 如果有哪位大神有更好的方案,恳求您在评论区留言哦。
|