草庐IT

ios - Titanium - 在 iOS native 模块中包装 ADTECHMobileSDK 的 CoreData 错误

coder 2024-01-24 原文

我们正在努力构建原生 iOS 钛模块 来包装 ADTECHMobileSDK 库,这是我们用于广告的库。 我们成功地移植了横幅 View ,但我们在插页式广告方面遇到了麻烦:

当使用以下消息在插页式广告上调用方法 -load 时,应用程序崩溃

+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name ‘Asset’

好像是CoreData的问题,但是我没有接触到原生代码。

对于插页式广告,您必须配置 3 项内容: 一个配置 代表 和一个 View Controller

该库处理这 3 个参数的错误值,但有 3 个特殊异常(exception),所以我认为我们正在以正确的方式设置所有 3 个参数。 我们还检查了我们是否正确导入了要求您在项目中导入的库资源包 (并且包含 CoreData 模型),当它也丢失时,库会抛出一个特定的异常,所以它应该已经正确完成了。

我不是 CoreData 专家,所以我想知道什么可能导致该异常以及我应该检查什么,或者是否存在使用使用 CoreData 的第三方库构建模块的任何已知问题。

感谢任何帮助,谢谢。

最佳答案

看来是并发问题。

使用 [NSEntityDescription entityForName:inManagedObjectContext:] 上的符号断点从 Xcode 进行调试 我发现它是在不同的线程上调用的。 我解决了使用钛宏在主线程上强制加载调用

ENSURE_UI_THREAD(加载,参数);

关于ios - Titanium - 在 iOS native 模块中包装 ADTECHMobileSDK 的 CoreData 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161951/

有关ios - Titanium - 在 iOS native 模块中包装 ADTECHMobileSDK 的 CoreData 错误的更多相关文章

随机推荐