2010-09-23 102 views
0

我正在模擬iPad中的「僅限iPhone」應用程序。這個二進制文件在iPhone模擬器中很好地模擬,但是當試圖在iPad中模擬時,會出現最初的背景圖像,但是屏幕會變黑。 (Xcode v4.1,SDK 4.1)iPhone應用程序視圖無法在iPad中加載,但在iPhone模擬器中加載

該應用程序只有一個視圖,它由一個自定義的UIViewController控制。 (SoloViewController)由SoloViewController管理的唯一視圖包含在名爲「mainview.xib」的「分離」nib中。

我初始化SoloViewController在我的AppDelegate像這樣:

- (void)applicationDidFinishLaunching:(UIApplication *)application {  

    SoloViewController *vc = [[SoloViewController alloc] initWithNibName:@"mainview" bundle:[NSBundle mainBundle]]; 
    self.soloViewController=vc; 
    [vc release]; 

    [window addSubview:[soloViewController view]]; 
    [window makeKeyAndVisible]; 
} 

我的Info.plist文件具有「主筆尖文件基本名稱」設置爲「主窗口」,我相信這是默認的Xcode給你當你第一次創建一個基於ViewController的項目。無論如何,我只是保持原樣。但是,試圖在iPad上進行模擬時,日誌說:

Failed to load NSMainNibFile MainWindow. 

iPhone模擬器和硬件有這個沒有問題......

如果我設置了「主筆尖文件基本名稱」鍵「 MAINVIEW」使用廈門國際銀行文件的看法,我得到這個錯誤:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x7a01270> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.' 

我仔細檢查了在IB的廈門國際銀行和所有網點的正確定義和連接到SoloViewController.h & SoloViewController。米我在這裏做錯了什麼!?

另外 - 如果我將NSMainNibFile留空,那麼iPhone模擬器只會出現黑屏。 (日誌中沒有錯誤)

回答

2

事實證明該項目,在這種情況下需要一個MainWindow.xib文件。在我的情況下,我不經意地從原始項目模板中刪除了這個文件,並認爲它沒問題,因爲它在硬件中模擬並運行良好。 (iPhone)MainWindow.xib文件需要一個類型爲「UIApplication」的文件所有者,類型爲「UIResponder」的第一響應者,這是指向您的應用程序委託的自定義類型的應用程序委託。 (名稱將根據您的項目命名而有所不同)最後,有一個類型爲UIWindow的窗口。所有這些都是默認設置,但App Delegate除外。

一旦我包含這種配置的xib,應用程序在iPhone & iPad模擬器中按預期加載。 (仍然不清楚爲什麼iPad模擬器會以不同的方式處理MainWindow.xib文件)

+0

請問您可以發佈滿足這些要求的示例XIB嗎?也許在pastebin.com上。我無法複製工作的應用程序:( – expert 2013-08-28 23:09:44

+0

偉大的博客文章有關它是如何工作的:http://oleb.net/blog/2012/02/app-launch-sequence-ios-revisited/ – expert 2013-08-29 01:03:57

0

當您在您的代碼中引用常量(或通過IB代碼生成)時,iOS 4x或更高版本中定義的常量,而iPad運行3.2x,並且對這些常數一無所知關鍵定義。

確保您的目標的iOS部署目標已設置爲iOS 3.2,而基本SDK爲4.1。如果您更改了這些值,請在重新編譯前進行清理。不幸的是,在這種情況下,我認爲你不會看到編譯器警告。

希望有所幫助。

+0

嗯。尼斯認爲,但結果相同。 iOS部署目標設置爲:iOS 3.2,基礎SDK到4.1設備(或模擬器,具有相同的結果)。 – Sly 2010-09-24 15:26:56

相關問題