【Objective-C】他のアプリで開いているpdfを自分のアプリで開く方法【iOS11】【Xcode9】

safariなどの他アプリのブラウザで開いたPDFファイルを自分で作成したアプリで開くようにしたい場合の方法です。

1.Document Typesにpdfを設定する

まず、Target > Info > Document Typesを設定します。

Nameに「pdf」
Typesに「com.adobe.pdf」

を指定してください。

2.AppDelegateに受け取りの処理を追加

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    
    NSLog(@"url:%@",url);
    
    return YES;
}

openURLを使用することで他アプリから開くをした場合に、urlをAppDelegateで受け取ることができます。受け取ったurlを使用して自分のアプリ内でUIWebViewなどを使いpdfをひらいてあげれば完成です。