ios sdkbox ,登录时通过跳转Facebook app,返回游戏app时被挂起或者卡死

ios sdkbox 接入 Facebook,登录时通过跳转Facebook app(web登录正常),返回游戏app时被挂起或者卡死,发现执行到啦以下代码,执行performFunctionInCocosThread后未成功进入回调的方法,不知道是否有解决方法
virtual void onLogin(bool isLogin, const std::string& error)

{

    std::string funName(__FUNCTION__);

    cocos2d::Director::getInstance()->getScheduler()->performFunctionInCocosThread([funName,isLogin,error,this](){

        if (!_JSDelegate.isObject())

            return;

   .......

}

sdkbox version: 2.4.3.3

xcode:10.1

creator:1.10.2

没有设置代理对象吧

这个_JSDelegate sdkbox在安装Facebook生成的代码中就有设置的
static bool js_PluginFacebookJS_setListener(se::State& s)
{

nativeDelegate->setJSDelegate(args[0]);

   ......

}

问题已解决,cocos creator 留的坑,跳转Facebook app后返回游戏app时,会调用ios的applicationWillEnterForeground,但是这个代码里坐了对比,导致未执行引擎的恢复代码。修改成如下即可:

  • (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();
    // }
    cocos2d::Application::getInstance()->applicationWillEnterForeground();
    if (CAAgent.isInited) {
    [CAAgent onResume];
    }
    }

666

sdkbox qq群: 489182678