私は現在、オープンイン機能のために UIDocumentInteractionController を使用しています。開くと、そのファイルの種類を処理できるデバイス上のすべてのアプリのリストが表示されます。
特定のアプリがそのファイル タイプをサポートしている場合でも、特定のアプリにドキュメントを送信するアプリを無効にする方法はありますか? たとえば、アプリで PDF ファイルを開いていて、iBooks が iPad 上にある場合、UIDocumentInteractionController で iBooks アイコンをタップすると、それをアプリに送信したくありません。
理想的には、これをブラックリスト (またはホワイトリスト) の作成と見なします。たとえば、次のようにするとよいでしょう。
- (void) documentInteractionController: (UIDocumentInteractionController *) controller willBeginSendingToApplication: (NSString *) application {
// if app is blacklisted
if ([application isEqualToString:@"com.schimera.WebDAVNavigator"]) {
[self.interactionController dismissMenuAnimated:YES];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"FAIL" message:@"NO" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
return
}
}
ただし、これを使用すると、ドキュメントが「ブラックリスト」に登録されていても、ドキュメントはアプリケーションに送信されます。
このアプローチはまったく可能ですか?
乾杯!