最近用xcode7.1.1 新建了一個工程,工程裏默認有 UISplitViewController 等類的創建。查看Main.storbBoard 發現,裏邊默認用的就是 SplitViewController 。但是這不是我想要的。我想自己寫入口。
之前 是這樣
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem;
splitViewController.delegate = self;
return YES;
}
後來我刪除了storyboard,刪除了didfinishLaunching 裏邊的代碼(return YES)除外。新建了一個VC。然後xib同時創建。之後在didfinishlaunching裏邊寫:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor redColor];
[_window makeKeyAndVisible];
RXScrollViewViewController *mVC = [[RXScrollViewViewController alloc]initWithNibName:@"RXScrollViewViewController" bundle:[NSBundle mainBundle]];
self.window.rootViewController = mVC;
return YES;
}
這樣運行,發現會崩潰。
報錯爲
test[46315:616190] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle NSBundle </Users/red/Library/Developer/CoreSimulator/Devices/26AE60B2-3302-407F-949B-805BF6AB486F/data/Containers/Bundle/Application/41A7AEFA-96CC-4F1A-BFF0-4365E39463EA/test.app> (loaded)'
因爲plist裏邊有個屬性,是設置加載main.storyboard的。故需要刪除 Main storyboard file base name屬性,或者 屬性後邊string 類型的置爲空。運行,搞定。
適合初學者,小事有可能導致大家很耗時