「LINEで送る」をTitaniumで
iOSアプリ内でLINEにURLスキームで画像を渡したいってすごく一般的な欲求だと思うんだけど、Titaniumでアプリを作っている人はどうやって実現しているだろうか。
— Hamhei (@hamhei) June 19, 2013
ということで調べてみると、マニュアルが見つかりました。カスタムURLスキームが用意されていて、LINEではAndroidはローカルに保存した画像のパスを、iOSではClipboardに貼付けてClipboardの名前を渡すことで実現できるそうです。なんだ簡単、と思ったら、TitaniumではiOSのClipboardの名前が取得できないんですね。
そういえば誰かがモジュール作ってたなあ、と思って調べると、確かにありました。「TiCustomPasteboard」ですね。終了〜。と思ったら、テキストしか扱えないとのことなので、画像を扱えるようにしておきました。
これで、たぶんiOSなら動くはず。
var Pb = require('jp.hsj.ticustompasteboard'); var pb = 'org.selfkleptomaniac.myapp.pb'; Pb.createPasteboard(pb); Pb.setImage(pb, imageBlob); var message = "言いたい事は山ほどある"; var mime = 'image/png'; //画像に合わせてね Ti.Platform.openURL('line://' + message + '/ ' + mime + '/' + pb);
終了〜
@yagi_ @uk1124 @masuidrive ありがとうございます!! 無事に出来ました!! 仕事早すぎでかっこよかったので、ブログにまとめました!(あとで時間あるときにもう少し詳細を書くかも!) http://t.co/qeMVUYidjj
— Hamhei (@hamhei) June 19, 2013
ところが。これでおしまいと思ったら、donayamaさん曰く
ただ、名前が名前のモジュールなのでString以外の要素(Colorとか諸々)のやりとりを行えるように、いつかはしないとダメでしょうね…(^^;
とのことなので、色も扱えるようにしないといけないみたいですね。機会があったらまた今度。残念。
コメントを残す