0

以下のコードを使用して、バンドルから最初のビュー コントローラーを提示しています。

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/ReMoreTesting.bundle"];
NSBundle *bun = [NSBundle bundleWithPath:path];
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"ReMoreTesting" bundle:bun];
UIViewController *vc = [sb instantiateInitialViewController];
[self presentViewController:vc animated:YES completion:NULL];

ただし、presentViewControllerAnimated:completion「Interface Builder ファイル内の不明なクラス RMTViewController」というエラーがログに記録されます。レイアウトは正常に読み込まれますが、RMTViewController に依存するもの (標準の ViewController 定義にないもの) をクリックすると、「認識されないセレクター」でクラッシュします。

Storyboard ファイルが読み込まれているように見えますが、コンパイルされて同じ Bundle に格納されているクラス ファイルが呼び出されていません。クラスを探す場所を指定する何かが欠けていますか?

ありがとう!

また、はい、これは動的に読み込まれるライブラリであり、アプリが App Store への提出に関する Apple の承認に合格しないことはわかっています。また、別のメソッドからコードに正常にアクセスできます。

4

1 に答える 1

0

この質問を投稿している間、私は問題を理解しました。とにかく投稿すると思いました。

ストーリーボードをロードしても、バンドルのライブラリもロードされないことがわかりました。[bun load]ストーリーボードをインスタンス化する前に呼び出すと、問題が解決しました。

後から考えると、すべてが簡単ですよね?

于 2012-10-09T18:48:51.367 に答える