1
NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/quantum/Library/Application Support/iPhone Simulator/6.1/Applications/19503C82-22E2-4787-A4F5-8D83EDD5D58B/foo.app> (loaded)' with name '_UIDocumentActivityViewController''

を作成しQLPreviewController、PDF を表示するために提示しています。次に、共有ボタンをタップします。クラッシュします。

Apple の Document Interaction サンプル プロジェクトをダウンロードしました。そこに PDF 取得クラスを配置し、PDF を取得して表示し、動作します。共有ボタンでクラッシュしません。どちらもターゲット 6.1 用です。私のプロジェクトのように、AppleのコードをiPadのみを対象とするように設定してみました。彼らのコードは機能しますが、私のコードは機能しません。私は困惑しています。エラー メッセージからは、SDK のバグのように思えますが、特定できません。

これを見たことがありますか?

    QLPreviewController *previewController = [[QLPreviewController alloc] init];

    [previewController setDataSource:self];

    [previewController setDelegate:self];

    [self presentViewController:previewController animated:YES completion:^{}];



#pragma mark QLPreviewControllerDataSource

- (NSInteger) numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller {

    return 1;
}

- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
    return [NSURL fileURLWithPath:self.pdfPath];
}

フレームワークへの参照の削除、派生データの削除、プロジェクトのクリーニング、QuickLookフレームワークの再読み込みを試みました。私はAppleのプロジェクトと私のプロジェクトの両方でFinderに表示しましたが、それらは同じパスを持っています。

を使用すると同じことが起こりますUIDocumentInteractionController。電子メール/印刷などのオプションを備えた小さなオーバーレイがプロジェクトに読み込まれません。

4

4 に答える 4

1

Apple サポートが答えを教えてくれました。カテゴリの init メソッドをオーバーライドしたため、クラスの初期化が台無しになりました。道徳: カテゴリ メソッドで init をオーバーライドしないでください。

于 2013-07-25T16:49:06.617 に答える
0

ただ試してみてくださいinitwithnib

QLPreviewController *previewController = [[QLPreviewController alloc] initWithNib: (QLPreviewController) bundle : nil];

うまくいけば、うまくいきます。

于 2013-05-29T04:56:19.210 に答える