0

我将我的 XCode 更新为 4.2,并希望使用 Simulator 5.0 而不是 4.3。

我编写了一个带有 5 个选项卡的选项卡应用程序,但通过 appdelegate 推送了另一个视图作为第一个视图。

现在我有一个问题,它在模拟器 4.3 中一切正常,但在模拟器 5.0 中给我一个错误:

int retVal = UIApplicationMain(argc, argv, nil, nil); SIGABRT

objc[3441]: EXCEPTIONS: throwing 0x7d626b0 (object 0x7d1e750, a NSException)
objc[3441]: EXCEPTIONS: searching through frame [ip=0xe99ee sp=0xbfffdee0] for exception 0x7d62690
objc[3441]: EXCEPTIONS: catch(id)
objc[3441]: EXCEPTIONS: unwinding through frame [ip=0xe99ee sp=0xbfffdee0] for exception 0x7d62690
objc[3441]: EXCEPTIONS: handling exception 0x7d62690 at 0xe9bac
objc[3441]: EXCEPTIONS: finishing handler
objc[3441]: EXCEPTIONS: throwing 0x7d5cd30 (object 0x7d1e750, a NSException)
objc[3441]: EXCEPTIONS: searching through frame [ip=0xe9b9c sp=0xbfffdee0] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: searching through frame [ip=0x1a02db3 sp=0xbfffec20] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: unwinding through frame [ip=0xe9b9c sp=0xbfffdee0] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: unwinding through frame [ip=0x1a02db3 sp=0xbfffec20] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: handling exception 0x7d5cd10 at 0x1a02e46
objc[3441]: EXCEPTIONS: rethrowing current exception
objc[3441]: EXCEPTIONS: searching through frame [ip=0x1a02e0f sp=0xbfffec20] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: unwinding through frame [ip=0x1a02e0f sp=0xbfffec20] for exception 0x7d5cd10
objc[3441]: EXCEPTIONS: finishing handler
objc[3441]: EXCEPTIONS: unwinding through frame [ip=0x1a02e38 sp=0xbfffec20] for exception 0x7d5cd10

我将问题定位在 AppDelegate 中:

AppDelegate *app = [AppDelegate getApp];
    app.tabController.selectedViewController = connNavController;

我也尝试通过使用来推动控制器

[self.navigationController pushViewController:myViewController animated:YES];

但我总是得到一个 SIGABRT。

清洁目标,重新启动等不起作用。

如果您有解决方案,请提供帮助。

谢谢!

4

2 回答 2

1

你试过替换吗

UIApplicationMain(argc, argv, nil, nil);

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
于 2012-06-20T12:27:26.177 回答
0

从您的堆栈跟踪中可以看出很少,但是当您使用selectedViewController视图控制器最位于viewcontrollers数组中的属性时UITabBarController,如果它不在数组中,它将在这种情况下引发错误。

所以确保你的代码中有这个:

myTabBar.viewcontrolleres = [NSArray arrayWithObjects: myViewController, more, nil];
于 2012-06-20T12:29:38.890 回答