Cocos Creator跳转iOS原生地图,OpenGL error 0x0502。

跳转地图在返回就一直打印OpenGL error 0x0502 in -[CCEAGLView swapBuffers] 315。求助怎么解决。

本来进入也一直打印错误信息的。后来在网上找到如下方法:
在RootViewController中加入

  • (void)viewDidAppear:(BOOL)animated
    {
    NSLog(@“viewDidAppear”);
    [super viewDidAppear:animated];
    cocos2d::Director::getInstance()->resume();
    cocos2d::Application::getInstance()->applicationWillEnterForeground();
    }

  • (void)viewWillDisappear:(BOOL)animated
    {
    NSLog(@“viewWillDisappear”);
    [super viewWillDisappear:animated];
    cocos2d::Director::getInstance()->pause();
    cocos2d::Application::getInstance()->applicationDidEnterBackground();
    }

跳转地图时候不报错了,但是返回还是有问题。

上面的代码在 **CCEAGLView-ios.mm" 文件中

在你的代码的基础之上,再参考上图的红色杠的代码

主要问题解决了。但是返回来的时候,在监听器事件中的给一个Label赋值就是不行。

第一次有时候会成功,但是以后每次都是把我的label变成了一个精灵,图片是我的项目里面随机的图片。我尝试了一天了也没有解决,主要不知道具体什么原因。

在调用源生相册的回调方法里面修改这个Label的值不会出问题。

你这个 GetLocationInfoEvent 事件是在 GL 线程发出来的吗?

我是在iOS那边主线程发出去的Event,然后在js 相当于拦截又转发了一次Event。在网上搜js线程相关的,没有找到关于GL线程的,iOS也只有主线程和子线程,也没看到关于GL线程的。只有C++有performFunctionInCocosThread这个函数,但是我对C++的语法不怎么了解,该怎么传这个参数呢?

问题可能有点低级,还是希望帮忙解答一下。。。