coco2dx lua 3.17.2 ccui.EditBox 点击空白区域键盘无法关闭

在3.17.2上点击ccui.EditBox控件弹出软键盘。再点屏幕空白区域软键盘无法关闭。
CCEAGLView-ios.mm的handleTouchesAfterKeyboardShow方法是调了的。但里面的self.subviews是空的。之前的3.15版本self.subviews就不是空的且能调到[view resignFirstResponder]。不知是怎么回事。
-(void) handleTouchesAfterKeyboardShow
{
NSArray *subviews = self.subviews;

for(UIView* view in subviews)
{
    if([view isKindOfClass:NSClassFromString(@"UITextView")] ||
       [view isKindOfClass:NSClassFromString(@"UITextField")])
    {
        if ([view isFirstResponder])
        {
            [view resignFirstResponder];
            return;
        }
    }
}

}

问题已解决
AppController.mm与RootViewController.mm重复创建了eaglView
注释掉RootViewController.mm loadView方法。避免重复创建eaglView
AppController.mm里面的cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView((__bridge void *)_viewController.view);
改为cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView);

注释掉
// Implement loadView to create a view hierarchy programmatically, without using a nib.
// - (void)loadView {
// // Initialize the CCEAGLView
// CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [UIScreen mainScreen].bounds
// pixelFormat: (__bridge NSString *)cocos2d::GLViewImpl::_pixelFormat
// depthFormat: cocos2d::GLViewImpl::_depthFormat
// preserveBackbuffer: NO
// sharegroup: nil
// multiSampling: NO
// numberOfSamples: 0 ];

// // Enable or disable multiple touches
// [eaglView setMultipleTouchEnabled:NO];

// // Set EAGLView as view of RootViewController
// self.view = eaglView;
// }