私のアプリに問題があります。いくつかの統計を取得した後、私はPDFファイルを生成し、 "Open in iBooks"と "Send By Mail"を中心にUIActivityViewControllerを表示したいと考えています。 URLは/Documents/../statistics.pdfようなパスであるUIActivityViewControllerが「iBooksで開く」オプションを表示しない
self.docController = [UIDocumentInteractionController interactionControllerWithURL:url];
self.docController.delegate = self;
[_docController presentOpenInMenuFromRect:_openInIBooksButton.bounds inView:self.openInIBooksButton animated:YES];
:
まあ事はUIActivityViewControllerを使用しようとする前に、私は次のコードで、UIDocumentInteractionControllerを使用していたということです。それはうまくいって、iBooksのボタンが開いてDropboxで開いているポップオーバーを表示しましたが、Mail by Sendは表示されませんでした。今度は次のコードで変更しました。
NSArray* itemsToShare = [NSArray arrayWithObjects:pdfData, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard]; //or whichever you don't need
[self presentViewController:activityVC animated:YES completion:nil];
ここで、pdfDataはNSDataオブジェクトです。それもうまくいきましたが、今はiBooksオプションではなく電子メールで送信するオプションを示しています。私はその行動の理由を見つけられないので、ナットに行きます、そして、私は2つのオプション、iBooksとMailが必要です。
UIDocumentInteractionControllerが.pdfで終わるパスを持ち、UIActivityViewControllerがNSDataオブジェクトしか持たないという事実と関係があるかどうかはわかりません。しかし、私はそれのための解決策を見つけることができません。
誰かがその問題を以前に見つけましたか?
ありがとうございました。
UIDocumentInteractionControllerの 'presentOptionsMenuFromBarButtonItem'を試しましたか? - そして私は、UIActivityViewControllerの 'initWithActivityItems'引数も配列の中のNSURL項目を受け入れると考えています。 –
お返事ありがとうございますが、あなたがURLに配列を入れると、メールで送信し、twitterオプションで公開するだけです。メールで送信するとタップすると、URLを含むテキストでメール作成者が開きますファイルを添付せずに。 – diegomen
OK、単なるアイデアでした! presentOptionsMenuFromBarButtonItemはどうでしょうか? –