2013/11/17

[iOS][Objective-c][Instagram]自分のアプリからInstagramを起動

昨日のエントリーでigoファイルまで保存できたので、いよいよ、今日は、Instagramを起動する方法について。

//igoファイルまでのパス
NSString *fileName;
interactionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:fileName]];
interactionController.UTI = @"com.instagram.exclusivegram";
//Instagramがオープンできない場合(selfは、UIVIewControllerを継承したクラス)
if(![interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES]){

}
上のプログラムで実際に試したところうまくいきました。

これを実現するにあたり、1個だけ注意点。

下のプログラムだとクラッシュしましたー。
//igoファイルまでのパス
NSString *fileName;
UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:fileName]];
interactionController.UTI = @"com.instagram.exclusivegram";
//Instagramがオープンできない場合(selfは、UIVIewControllerを継承したクラス)
if(![interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES]){

}
違いは、前者は、インスタンス変数として保持しているのに対し、後者は、その場で変数宣言しているところ。

結論から書くと、どうやら、インスタンス変数として保持していないといけないようです。

今後、実装する上で気をつけたいですね。

0 コメント:

コメントを投稿