Posted at

iOS 7でLINEに画像を送信する

More than 5 years have passed since last update.

LINEではカスタムURLを使って外部から情報を送ることができる。画像を送るには、UIPasteboardに画像を添付し

[NSString stringWithFormat:@"line://msg/image/%@", pasteboard.name]

のようなURLを開けば良い。

LINEActivityは上記を実装したUIActivityのサブクラスで、これを使うと簡単にLINEとの共有機能を実装することができる。ところが、iOS7で試したところ、当初うまく行かなかった。

結果から書くと、UIPasteboardの初期化の際に

[UIPasteboard pasteboardWithUniqueName]

となっていたのを

[UIPasteboard generalPasteboard]

のように変更すると無事に写真を共有することが出来た。

iOS7では[UIPasteboard pasteboardWithName:create:] と +[UIPasteboard pasteboardWithUniqueName] で作られるUIPasteboardは同じアプリケーショングループ内のアプリでのデータ共有にのみ使えるように変更されており、それが原因でうまく写真が受け渡せなかったのではないかと考えられる。

ところで、http://media.line.me/howto/ja/ には「iOS7では画像送信をサポートしていません」と書かれているが、上記のやり方で無事に画像の共有を行うことができた。