以下にリストされているエラーは何ですか?
2011-02-23 21:24:12.218成功[7238:207] *キャッチされない例外 'NSInternalInconsistencyException'によりアプリを終了します、理由: 'バンドルにNIBをロードできませんでした:' NSBundle </ Users/jimkillen12/Library/Application Support/iPhone Simulator/4.2/Applications/BAA5E0E7-AF12-4301-A4F8-1B9797C9E82D/Success.app>(loaded) 'with name' MainWindow-iPad ''
NIBファイルの1つがプロジェクトにありません。必要なNIBファイルを追加してください:
ビルド段階
+
をクリックしますShift+Cmd+K
でビルドをクリーンアップしてから実行します。
P.S。initWithNibName:@"ViewNameController"
を呼び出すときに、NIBファイルの正確なスペルを使用も確認してください
おそらく、小文字を使用して呼び出しでNIBに名前を付けたか、または不要な拡張子.xibを含めることもできます。
おそらく、あなたは呼び出しでNIBに小文字で名前を付けました。この場合、シミュレータは正常に動作しますが、iPhoneデバイスは実行時にエラーを返します。
例えば、
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"detailViewController" bundle:nil];
失敗します。次のように変更する必要があります。
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"DetailViewController" bundle:nil];
ビルド設定で、アーキテクチャを追加します= >> armv6およびarmv7
これを使用してエラーを削除しました
私は同じ問題を抱えていますが、それは私が拡張子.xibを書いたためであり、それは必要ではありません
token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad.xib" bundle:nil];
の代わりに
token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad" bundle:nil];
私の場合は次でした:
「?????? Ipad」という名前のコードXIBをロードしましたが、XIBファイル名は「?????? IPad」でした
Nib/xibファイルが対応するターゲットメンバーシップに含まれていることを確認してください。
NIBに関する警告はありますか?これは通常、NIBファイルのエラー(不正なタイプのNIBなど)に対して行われます。
ファイルを右クリックし、[情報を見る]をクリックして、タイプが期待どおりであることを確認します。
手順に従っても同じ問題があります。
1.プロジェクトを別の場所にコピーします。
2.NIBファイルをコピーするどのクラッシュアプリ。
3.名前を変更するだけ
例古いファイルDemo.xibをコピーして名前を変更するDemoNew.xib
私のコードは以下です
古いコード
Demo *controller = [[Demo alloc]initWithNibName:@"Demo" bundle:nil];
名前を変えるだけ
Demo *controller = [[Demo alloc]initWithNibName:@"DemoNew" bundle:nil];
それは私のために働いています。
プロジェクトにファイルMainWindow.xib
が存在することを確認してください。そうでない場合は、MainWindow.xib
という名前の新しいインターフェースファイルを追加します。
その他の考えられる問題:iOS 5でBase Localizationを使用しています(注意、iOSシミュレーターでは機能しますが、デバイスでは機能しません)。 iOS 6以降でのみサポートされます。
詳細については、以下を参照してください。 バンドル基本国際化でnibをロードできませんでした
Nibから取得したコレクションビューでcollectionViewセルをロードしようとすると、次のエラーが表示される場合があります。 NSBundle "nibファイルからコレクションビューをロードする場合、ストーリーボードとは異なり、nibでコレクションビューセルを宣言するオプションはありません。正しい方法は、新しいnibを使用して新しいカスタムセルを作成し、それをコレクションビューにロードすることです。 注:新しいカスタムコレクションセルのペン先を登録することを忘れないでください。
たとえば、UIViewControllerクラス名をTextPickerとして使用している場合、Bellowコードのように使用する必要があります
let bundle = Bundle(for: TextPicker.self)
super.init(nibName: "TextPicker" , bundle: bundle)
フレームワークとして他のプロジェクトのXibでTableViewを使用している場合
tableView.register(UINib.init(nibName: "TextPickerCell", bundle: bundle), forCellReuseIdentifier: "TextPickerCell")
let bundle = Bundle(for:TextPicker.self)