creator 打包iOS原生代码问题

问题:creator打包iOS版本,在cocos界面弹出原生接入的全屏广告页面时,再切换到后台,然后回前台时,cocos界面无响应了。

查看代码发现原来这里:

  • (void)applicationWillEnterForeground:(UIApplication )application {
    /

    Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
    /
    auto glview = (__bridge CCEAGLView
    )(Director::getInstance()->getOpenGLView()->getEAGLView());
    auto currentView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
    if (glview == currentView) {
    cocos2d::Application::getInstance()->applicationWillEnterForeground();
    }
    [CAAgent onResume];
    }

在AppController.mm文件中有这么个比较,不知道为何做这样的对比,导致在非cocos的界面退到后台就会无响应问题。本人直接将对比注释掉,也未发现其他问题。@creator开发组 帮忙解惑下,谢谢啦!

  • Creator 版本:1.7.0

  • 目标平台:iOS

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:总是

  • 额外线索:

2赞

我也发现这个问题了,从facebook跳转应用授权回来就无法恢复游戏
applicationWillEnterForeground没有调到

我把if (glview == currentView) 这个判断去掉了

1赞

应该是那个地方有坑加上了这个判断,具体我也不清楚,得查历史记录找到谁加的,然后问那人。

请问找到加这个判断的原因了吗?

这个坑略大……