HenPitsuのfacebookおよびiOS5対応が完成

先日うまく投稿できないと書いたfacebookの投稿ですが、画像をアルバムに登録するときに、メッセージ(コメント)を一緒に登録することが出来れば、うまくいくことがわかりました。これだと、一応ウォールにもコメント付きで表示されます(連続で何枚か投稿したときには、コメントが表示されませんが・・・)

 NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
 tempImage, @"picture",// UIImage*
 comment, @"message",// ここがコメントとして表示したい文章
 nil];
 [G.facebook requestWithGraphPath:@"me/photos"
 andParams:params
 andHttpMethod:@"POST"
 andDelegate:self];

しかしそうするには、ライブラリ任せでダイアログを出してコメントを入力してもらうというわけには行かなくなります(Post to WallはDialogでやってくれるけれども、コメントだけを文字列でもらうという機能はない)。

ということで、自前でDialogを作ってみました。

facebook-ios-sdkのコードから一部コピペすればそのまんまのDialogが出せるかもしれませんがとりあえず最も安直な形(パチもん?)で済ませてみました。これでも問題なく投稿できます。

問題は、操作が済んでからしばらく(数秒〜10秒)して成功の通知が来るのですが、それまでどうするか・・・非同期なので普通の操作に戻るようにしていますが、投稿が終わるまでインジケータを出しながら待つほうがいいのでしょうか?

なお、先週iOS5がbeta7になったとの報を聞いてXcodeと自分のiPhoneにbetaをいれてみました。Twitter対応はすごく楽ですが、ツイートに#HenPitsuというのを自動的に入れようとすると、#HenPitsuが文頭に来てカーソルがその後ろにある状態から始まります。カーソル位置をいじるAPIは見当たりません。あまり詳しくないのですが、こういうハッシュタグを自動で入れるのはTwitterの規約違反になるかもしれないので素のままにしようかと思います。

追記:#HenPitsuはURLとして追加するようにすれば問題ないようです

なお、Twitter対応以外の部分はiOS4でも問題ないはずなので、twitter.frameworkは必須ではなく任意にしてiOS4でも動くようにしようと目論んでいましたが、iOS4でも起動できる設定にすると、コンパイルができない(ヘッダがないとか、iOS5のヘッダを無理に持ってくるとバージョン不整合でエラーが出るとか)でなんともなりません。治そうといろいろやっていたところどっかのファイルが壊れてしまってプロジェクトファイルがうまく開けなくなりプロジェクト存続の危機に!

結局一部のファイルをバックアップからコピーしてソースまで無駄にすることは避けられましたが、バージョンアップはiOS5専用ということにしようと思います。

広告

HenPitsuのバージョンアップ

今日は久しぶりにHenPitsuをいじっていました。
Facebookにはなんとか対応できそうです。

自力でdialogを出すようにして、commentという文字列を入力してもらえれば

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
 tempImage, @"picture",
 comment, @"message",
 nil];
 [G.facebook requestWithGraphPath:@"me/photos"
 andParams:params
 andHttpMethod:@"POST"
 andDelegate:self];

てな感じにすれば、「HenPitsu Photos」というアルバムにコメント付きで投稿できて、ウォールには投稿がなされた旨コメント付きで表示されます。

複数投稿したとき微妙ですが。

TwitterはiOS5の機能を使って何とかしました。
ということで、iOS5が出たタイミングでアップグレードしようと思います。

iOS5といえば、画面上部から下方にスワイプ?すると「通知センター」が表示されます。画像編集中には邪魔なのでステータスバーを出さないように変更しました(そうすれば通知センターが表示されにくい)。

in-app purchase を入れたほうがいいのかどうか?とか思っていましたが、iADの収入でなんとかDeveloper Programの分くらいはなんとかなりそうです(週300円くらいの収入)。