UIActivityViewControllerでActivityの選択後に処理をする
UIActivityItemProviderを継承したクラスを作って-itemをoverrideする。以上。
普通に使ってたら-activityViewController:itemForActivityType:オーバーライドして、いろいろゴニョゴニョしてからreturnしてやればいいんだけど、ここに入る前に何かしたい場合は、別の方法を取る必要がある。
-itemはセカンドスレッドで呼ばれるので、中で同期処理しても大丈夫。ただそのままだとUIはいじれないのでdispatch_async(dispatch_get_main_queue(), ^{});とかでProgressHUD表示とかしてやればいいと思う。
なんか仕事でコード書いてて、-activityViewController:itemForActivityType:でなんかする前になんかする必要があったから、この方法を取った気がするんだけど、何が問題だったか覚えてない。