前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >-[AppController window]: unrecognized selector sent to instance 0x280c24420'

-[AppController window]: unrecognized selector sent to instance 0x280c24420'

原创
作者头像
Lee坚武
修改2020-12-09 17:41:35
1.1K0
修改2020-12-09 17:41:35
举报
文章被收录于专栏:iOS知识点iOS知识点

bug显示问题: 最近在编译游戏工程的时候,对接了渠道的SDK,然后老是出现崩溃

代码语言:javascript
复制
Trapped uncaught exception 'NSInvalidArgumentException', reason: '-[AppController window]: unrecognized selector sent to instance 0x280c24420' 

崩溃效果图如下:

image.png

如果出现这个问题,那么首先恭喜你,不是渠道的SDK太旧了,不兼容版本,而是CP游戏工程太老了

解决方法如下:

1:游戏工程里APPcontroller.h文件要进行修改UIWindow
代码语言:javascript
复制
@interface AppController : UIResponder <UIAccelerometerDelegate, UIAlertViewDelegate, UITextFieldDelegate,UIApplicationDelegate>
{
    RootViewController    *viewController;
    id reachAbilityObj;
    // id jpushObject;
}
//根window
@property (strong, nonatomic) UIWindow *window;

修改后效果图:

image.png

2:游戏工程里APPcontroller.m文件要进行修改对应的APPwindow

下面是我的代码,大家对应的代码不同,自己相对应修改

代码语言:javascript
复制
_window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
//    window = [[UIWindow alloc] initWithFrame: winRect];

    CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [[UIScreen mainScreen] bounds]
                                     pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat
                                     depthFormat: cocos2d::GLViewImpl::_depthFormat
                              preserveBackbuffer: NO
                                      sharegroup: nil
                                   multiSampling: NO
                                 numberOfSamples: 0 ];

    [eaglView setMultipleTouchEnabled:YES];
    
    // Use RootViewController manage CCEAGLView
    viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
    viewController.wantsFullScreenLayout = YES;
    viewController.view = eaglView;

image.png

3:游戏工程里main修改释放池
代码语言:javascript
复制
#import <UIKit/UIKit.h>
#import "AppController.h"

int main(int argc, char *argv[]) {
    
    @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppController class]));
        }
}

再次编译,即可编译成功,就不会崩溃了!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决方法如下:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档