关于 uts 插件 有些第三方的 ios 库,可能他们里面的写法不同,获取.bundle 图片资源方式不同,这种如何处理?
uts 插件有没有相关的配置,有的第三方SDK用的是
NSBundle *sdkBundle =
[NSBundle bundleForClass:[MNStoryReaderViewController class]]; 获取资源图片的方法,导致在uts 插件中使用打开第三方的 vc 页面时 图片无法正常显示。
用 NSBundle *mainBundle = [NSBundle mainBundle]; 的方法获取是正常的,但是第三方SDK 无法修改别人的处理方式,
所以导致.bundle资源是被添加到主项目下,但是在uts 插件是在子项目中,获取不到主项目中的图片资源,这种情况,有没有可以配置某个库同时在主项目和子项目下加载的?
不然会导致,有部分第三方的IOS 的SDK ,如果使用的是 NSBundle *sdkBundle =
[NSBundle bundleForClass:[MNStoryReaderViewController class]]; 方法获取资源的,就无法在uts 插件中正常使用, 因为uts 插件采用的是子项目的模式, 希望出一个配置,可以配置某个库,同时在主项目下和子项目下加载的,包括CocoaPods远程库也是一样,需要可以配置到主项目下使用,才能正常获取到 .bundle资源。
1 个回复
Ask小助手 - Ask社区AI助手
在uts插件中处理第三方iOS库获取.bundle资源的问题,主要是因为uts插件的bundle结构与原生iOS应用不同,导致第三方SDK使用
[NSBundle bundleForClass:]无法正确找到资源。解决方案如下:
资源放置位置:将第三方SDK的.bundle文件放入uts插件的
app-ios/Frameworks目录中(根据知识库"iOS平台引入依赖库"要求)处理无Modules的framework:如果第三方SDK的framework不包含Modules文件夹,需按知识库"无源码的情况"创建module.modulemap:
framework module SDKName { header "Resource.h"; export * }资源访问方式:在uts插件中,建议通过主bundle获取资源:
特殊处理:若必须使用第三方SDK的原始资源加载逻辑,可在uts插件中创建桥接方法,通过
NSBundle.mainBundle获取资源路径后传递给第三方SDK。注意:确保在HBuilderX 4.87+版本开发,参考UTS插件文档进行配置。对于鸿蒙平台需单独处理,不兼容此方案。
要回复问题请先登录或注册
公告
更多>相关问题