2012-04-10 61 views
0

我知道有其他職位有類似的問題,錯誤,我已經他們檢查了,但他們都不似乎是我的具體問題,請耐心等待。「應用程序預計將有在應用程序啓動的最後一個根視圖控制器」只對設備

我開發這是應該運行在iPad上唯一的,所以沒有普遍的東西的應用程序:在主窗口榫文件是專爲iPad。

的事情是,只要我從Xcode中的iPad模擬器中運行(包括5.0和5.1),一切工作正常。但只要我嘗試在真正的iPad上運行它(使用iOs 5.0),我所得到的只是一個空白屏幕,並且控制檯上的「應用程序應用程序啓動結束時應有一個根視圖控制器」消息。

下面是一些代碼,應該是相關的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

... 
self.window.rootViewController = self.splitViewController; 
[self.window makeKeyAndVisible]; 

VistaInizialeViewController *inizialeAppoggio = [[VistaInizialeViewController alloc] initWithNibName:@"VistaInizialeViewController" bundle:nil]; 
self.vistaIniziale = inizialeAppoggio; 
[inizialeAppoggio release]; 
id debug = self.window.rootViewController; 
[self.window.rootViewController.view addSubview:self.vistaIniziale.view]; 
... 
debug = self.window.rootViewController; 

那麼,什麼是困惑我是這樣的:如果我運行通過在模擬器上一步上述步驟,調試變量(根視圖控制器)是初始化和所有,而不是如果我在真實設備上運行它,它只是零。

好了,從我的話,我會很感激任何幫助。

謝謝大家。

回答

0

1)的裝置是大小寫敏感的,該模擬器是沒有的。

您確定nib文件被稱爲'VistaInizialeViewController',而不是像'vistaInizialeViewController'或'VistainizialeViewController'?

2)檢查self.splitViewcontroller不nil - 確保您已經指定了正確的文件名xib爲的加載在啓動時的主廈門國際銀行(或者,如果你在代碼生成它,出斷點和步驟通過證明它正在正確生成)

+0

不,該nib文件實際上被稱爲「VistaInizialeViewController」。這是來自複製和粘貼序列,所以我確信這一點。 – FTSwift 2012-04-11 07:57:19

+0

好的,在我編輯的答案:)中嘗試建議編號(2):) – deanWombourne 2012-04-11 10:21:54

0

好吧,我解決了這個問題。 我所做的就是設置self.window.rootViewController

UISplitViewController *splitAppoggio = [[UISplitViewController alloc] init]; 
CategoriesViewController *categorieVC = [[[CategoriesViewController alloc] init] autorelease]; 
DetailViewController *dettaglioVC = [[[DetailViewController alloc] init] autorelease]; 
categorieVC.detailViewController = dettaglioVC; 
UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:categorieVC]; 
NSArray *arrayVC = [NSArray arrayWithObjects:navVC,dettaglioVC, nil]; 
splitAppoggio.viewControllers = arrayVC; 
splitAppoggio.delegate = dettaglioVC; 
self.splitViewController = splitAppoggio; 
[splitAppoggio release]; 

有了這個就可以正常工作實際設備上過於之前添加以下代碼。 爲什麼它不需要這個模擬器上運行,而這是需要在iPad上運行仍然超越我...

相關問題