1

NSObject クラスを使用して sample.framework プロジェクトを作成しました。したがって、すべてのプロジェクトで正常に動作しますが、sample.framework に .XIB を使用して ViewController クラスを追加し、任意のプロジェクトで同じフレームワークを使用しようとすると、次のように表示されます

キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。

sample.framework の XIB で ViewController クラスを使用できることを教えてください。

前もって感謝します。

4

1 に答える 1

0

静的ライブラリはリソースのバンドルを提供しません。それはコードのみです。共有 xib を手動でアプリケーション ターゲットCopy Bundle Resourcesステージに追加するか、すべてのリソースで単一の共有 .bundle を使用する必要があります。後者の場合は、最初にバンドルを取得する必要があります。次に、そこからペン先を読み取ります。

NSString * path = [[NSBundle mainBundle] pathForResource:@"mybundle" ofType:@"bundle"];
NSBundle * bndl = [NSBundle bundleWithPath:path];
NSArray *nibs = [bndl loadNibNamed:@"mynib.xib" owner:self options:nil];

また

[[Myviewcontroller alloc] initWithNibName:@"mynib.xib" bundle:bndl];

Copy Bundle Resourcesバンドルを使用する場合は、アプリのターゲット ステージに .bundle ファイルを追加することを忘れないでください。

于 2013-01-08T12:52:35.473 に答える