我正在开发一个Objective-c iOS应用程序,该应用程序最初是在2011年创建的,其中一些更新和更改在2013年完成。现在我应该让它工作,因为它崩溃了一个错误:
在AppDelegate中我已经检查过:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因是:'应用程序窗口在应用程序启动结束时应该有一个根视图控制器'
[self.window setRootViewController:viewAfterLaunchScreen];
调试后我发现应用程序在viewWillAppear运行rootViewController后崩溃了。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
if ([[DAL GetPreferences:@"FIRST"] isEqualToString:@"1"])
{
LoginViewController *lvc3 = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
[self.window setRootViewController:lvc3];
[lvc3 release];
}
else if(_window.rootViewController == nil){
PagingViewController *lvc2 = [[PagingViewController alloc] initWithNibName:@"PagingViewController" bundle:nil];
[self.window setRootViewController:lvc2];
[lvc2 release];
}
[DAL SavePreference:@"FIRST" :@"1"];
[self.window makeKeyAndVisible];
return YES; }
答案 0 :(得分:0)
多久了这个" old"项目?如果超过几年,你还有:
[window addSubview:viewController.view];
您应该将其替换为:
[window setRootViewController:viewController];