【Objective-C】UIDocumentInteractionController(アクションボタン、シェアボタン)を実装する方法について ドキュメントインタラクションコントローラ

こういう人に向けて発信しています。
・アプリ右上のシェアボタンを再現したい人
・AirDropなどを呼び出したい人
・Objective-C中級者

正式名称:UIDocumentInteractionController

いわゆるアクションボタンですね。

@interface ViewController (){
    UIDocumentInteractionController *docController;
}

...
...
...

-(void)tappedActionBtn:(UIBarButtonItem *)sender{
    NSData *data;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *directory = [paths objectAtIndex:0];
    NSString *filePath;
    
    filePath = [directory stringByAppendingPathComponent:@"sendData.pdf"];
    
    //ディレクトリを指定して保存している。
    [data writeToFile:filePath atomically:NO];
    
    NSURL *url = [NSURL fileURLWithPath:filePath];
    docController = [UIDocumentInteractionController interactionControllerWithURL:url];
    docController.delegate = self;
    [docController presentOpenInMenuFromBarButtonItem:sender animated:YES];
    
}

NSData型で保存したデータを送る事が出来ます。
PNGなど送る場合は一度NSData型に変換し直してください。

いいなと思ったら応援しよう!