2012-02-23 19 views
0

我目前看到此錯誤:不能在包中加載NIB - 靈感需要

  • NSInternalInconsistencyException Could not load nib in bundle
  • Could not load NIB in bundle
  • MonoTouchException: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Could not load NIB in bundle: 'NSBundle </Users/imac/Library/Application Support/iPhone Simulator/5.0/Applications/5D8B4B51-9FB2-4331-BFEB-B1A0AC77DF42/Tutorial.app> (loaded)' with name 'MyFirstView'

    我已經通過很多其他的問題,如看

  • 和其他許多人

但是我看不出這裏有什麼適用 - 它們主要是關於文件命名問題,而我的Nib確實出現在輸出包文件中並且名稱正確。

我使用MonoTouch的5.2.5和4.2的Xcode,並針對SDK5

有沒有人有什麼我可以嘗試解決這一問題的任何想法?

+0

你確定你的筆尖被稱爲'MyFirstView'包括首都嗎? iPhone的文件系統區分大小寫。 – rckoenes 2012-02-23 13:39:38

+0

你看過那個指定的目錄並在那裏看到了'MyFirstView.nib'嗎?有時Xcode中的Product => Clean'有幫助。 – 2012-02-23 13:48:51

+0

我在〜/ Library/Application Support/iPhone Simulator中檢入了包,並且.nib似乎在部署的包中,包括正確的大寫。 – Stuart 2012-02-23 13:52:26

回答

1

問題最終似乎是在擴展工具鏈中的某處 - 在MonoDevelop,xCode4和模擬器之間的某處。

重新啓動一切,並重置模擬器清除了問題。

後來在同一條鏈中,我看到了一些較小的問題,即使在我徹底刪除它們並重建之後仍然保留在模擬器上的「舊NIB文件插座」 - 所以某些地方仍然有問題...但是一個清潔每次解決它。

1

今天我面臨同樣的問題。我重構(重命名)viewController myCustomViewController並得到這個錯誤。當我在我的項目文件中搜索時,我看到我已經使用self.viewController = [[[MyTableViewController alloc] initWithNibName:@"viewController" bundle:nil] autorelease];

NibName已更改,但在@「」它是舊名稱。所以我將它改爲

self.viewController = [[[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil] autorelease]; 

並且錯誤被刪除。做到這一點,並希望你的錯誤將被刪除。 如果有幫助,請投票。

0

所以我在MonoDevelop中有類似的解決方案。我創建了一個空的單聲道觸摸項目。當我刪除與自動創建的項目相關聯的xib文件時,我遇到了問題。即使我創建了一個新視圖並將該插座連接到該控制器,我不得不再次重新創建與該控制器相關聯的xib文件(同名),然後通過插座連接該原始視圖和控制器

相關問題