読者です 読者をやめる 読者になる 読者になる

日本語教師、プログラマーになる。

韓国に嫁いで日本語を教えていましたが、なんやかんやでiOSアプリ作ってます。

誰も使わないと思うけどSwiftでBANDに投稿する

UIActivityを使って韓国のアプリ「밴드」に投稿する方法。

どこにも書いてないからメモ。


最初登場したときはすぐ死にそうだと思っていたんだけど

あれよあれよという間に人気になって

今じゃネイバーカフェより身近な存在になった感のある「バンド」。

私なんか未だに「カフェ」「バンド」「カッス」の違いがよくわかってませんっ!!

(※カッスはカカオストーリーの略)

韓国最大の愛猫家コミュニティ「猫でよかった」等を擁するカフェにくらべ

バンドはより個人的な集まり(同窓会とか)に使える…?感じ…??


それはともかく調べてみたらなんかバンドはシェアボタンしか提供してねぇーッ!!

しかもObjective-Cのしかねぇーッ!!

やる気あんのかこらー!!

のでUIActivityをカスタマイズして無理やりぶっこむ。

とここで問題発生

なんかエラーが出てウンともスンともいわなーい><

絶望してたけど単にエンコードの問題でしたァン

適当にBandUtirityとかなんとか作ってそこに書く。

func openBANDWithItem(item: [AnyObject]) {
let isInstalled:Bool
= UIApplication.sharedApplication().canOpenURL(NSURL(string: "bandapp://")!)
//バンドがみつからないとき
if isInstalled == false{
print("そんなアプリ知らんがな")
}

//バンドがみつかったとき
//文字列とURLを取り出す
let text: String = item[0] as! String
let orgUrl: NSURL = item[1] as! NSURL

//投稿用URLを作る。ここでのrouteが何だか分からん…。
//でもドメイン入れてねってかいてあったので一応入れておく
let urlString = "bandapp://create/post?text=\(text)\n\(orgUrl.absoluteString)&route=www.hogehoge.net"

//パーセントエンコーディングしないとおこられるのでする
let encodedString = urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
let decodedString = encodedString.stringByRemovingPercentEncoding
let url = NSURL(string: encodedString!)

//無事成功したら投稿!
if UIApplication.sharedApplication().canOpenURL(url!){
UIApplication.sharedApplication().openURL(url!)
}
self.activityDidFinish(true);
}

Swiftでのパーセントエンコーディングがよくわかんなかったのでなんかゴリゴリ書いてたら stringByAddingPercentEncodingWithAllowedCharactersで一発でできてズコーッてなった。

で〜、あとは透過したアイコンを準備しないといけないんですけど…。 (※透過しないとまっくろくろで表示されちゃいます)

勝手に透過処理しちゃっていいのかね? なんか、저작권문제(著作権問題)とかどうなんの? いっそ問い合わせようか…

とかやってたら、結局普通にシェアボタンで行こうやってなったのはまた別の話です。