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のfacebookおよびiOS5対応が完成」への1件のフィードバック

  1. ピンバック: HenPitsuのFacebook対応(失敗例) | Farm when it's sunny, programming when it rains

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中