1.9引擎obj-c原生改ui,怎么确保在主线程里执行

1.9 引擎发布iOS,js代码修改UI,有概率不生效。

目测可能是因为线程安全导致的

有什么方法保证 ui线程调用 js 在 gl线程里
js调用ui在main线程里呢

iOS没有和Android一样的Api, 但是有类似的 bug

如果是线程问题ios应该会直接奔溃
ios平台js都在主线程执行并不用切换
切换函数
DispatchQueue.main.async

cocos2d::Application::getInstance()->getScheduler()->performFunctionInCocosThread([=] {
// codes
});

不知道你要的是不是这个。

是需要类似这个的。
这个是 2.x才有的, 1.9没有

修改ui了,打印过 objC 貌似能自动合并线程
最终执行的线程可能在主线程也可能在子线程

接sdk异常。。。presentView有高概率不起作用。。奇葩bug只能怀疑是线程问题

对苹果开发不熟练。感谢提供api,我去试下先

没有作用:(

应用场景是

穿山甲最新sdk,直接在加载完成回调里显示 激励,插屏
load是 用js调用 显示不出来

即使不是在回调里,用js手动调用加载和显示,也有高概率显示失败。。无任何报错

穿山甲的广告是用的 webview 做的。。。不是原生显示对象,就有这个问题,其他联盟的正常
不知道是因为webkit安全性限制还是啥(webkit有些api必须是用户手动触发才生效,iOS端应该有同样限制)。。。

熟练程度不高,也没有太多精力去研究。只能寄望于官方修复。

不行就换个广告联盟算了

那不清楚了,较早版本没有使用过。