XCode错误:“GDB:程序接收信号:”SIGABRT“。”
问题描述:
我正在写一个简单的应用程序使用cocos2d 0.99.5,iPhone SDK是4.2。我已经在设备上运行我的应用程序,但是当我按下按钮切换CCScenes时,有时应用程序突然没有响应,XCode收到错误消息:“GDB:Program received signal:”SIGABRT“。”XCode错误:“GDB:程序接收信号:”SIGABRT“。”
发生此问题意外地。您必须多次按下转换按钮才能重现此错误。
我了解到SIGABRT是由abort()函数引发的。当断言失败时,标准assert()宏调用abort()。但是我的程序中没有断言功能。
谁能告诉我这个问题是怎么发生的,以及如何解决这个问题?我现在不知道下一步该怎么做。
答
问题已解决。见上面的评论。
答
如果你SIGABRT当应用程序启动检查XIBS
打开每个XIB
检查文件的所有者在每个身份检查
确保所提到的类是正确的和阶级存在(我已经改名为某些文件,但失败)
开始
MainWindow.xib
RootViewController.xib
检查Identity Inspector中的类名称是否正确。在
广场断点的AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//if it enters this method then MainWindow.xib ok
第2步 - 在AppDelegate中的didFinishLaunchingWithOptions放在
self.window.rootViewController = self.viewController;
另一个断点在RootViewController.m(或其他子类VC self.viewController的是)中断点
viewDidLoad
如果崩溃这里检查RootViewController.xib(或什么都类第一个VC是) ,检查类是文件的所有者
迭代通过所有视图控制器向下 找initWithNibName找到XIBs什么是所谓的正确。 在每次检查中,XIb中的类名称设置正确。
看看你的调试器控制台,看看发生了什么错误消息。 – 2010-12-22 18:27:40
2010-12-23 02:51:21.485 RotateClock [4087:307] ***由于未捕获异常'NSInvalidArgumentException',原因:' - [CCTransitionFade orientationChanged:]:无法识别的选择器发送到实例0x2380c0' – icethawless 2010-12-22 18:58:29