4

Apple のリソース プログラミング ガイドによると、あらゆる種類のリソース ファイルにデバイス修飾子を使用できるはずです。

ここに引用があります

デバイス修飾子は、任意のタイプのリソース ファイルに適用できます。

ただし、これはほとんどのリソース (画像、ペン先) で機能するようですが、ストーリーボードで使用すると問題が発生します。

私がやろうとしたことは、~ipadファイル名に接尾辞が付けられた2つのストーリーボードを持ち、次のようにロードしようとすることです

  UIStoryboard *mySB = 
       [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
    myViewController = [sigRequestSB instantiateInitialViewController];

そして、私はNSInternalInconsistencyException例外を取得しています

奇妙なことに、~ipadモディファイア付きのストーリーボードがある場合にのみこのエラーが発生し、モディファイアなしのストーリーボードが 1 つしかない場合は、それが iPad に読み込まれます。さらに、実行中のデバイスを検出し、完全なファイル名を使用してストーリーボードをロードすると (つまり、iPad ではファイル名に「~ipad」を添付します)、動作します。

ここに完全なエラーがあります

2013-08-29 15:32:44.294 MyApp[18757:c07] *キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。 k2-VhC」とディレクトリ「MyStoryboard.storyboardc」

4

0 に答える 0