GeoPo Twitterクライアントを自分用に作ってみた

このエントリーをはてなブックマークに追加
はてなブックマーク - GeoPo Twitterクライアントを自分用に作ってみた
Share on Facebook

20090329_geopotwitter 

自分で使うためだけにGeoPoを付加できるiPhoneのTwitterクライアントを作ってみた。

NatsuLiphone 1.00のソースを公開しました – takuma104.log

githubで公開されているものを利用させていただいたので、僕は多少のUIとイベント、そしてジオポの符号化ソースを加えるだけ。とても有益なものを公開していただき、ありがとうございます。

Xcodeで実装

ジオポの符号化をコピペ

ジオポ / 開発者向け情報 GeoPo符号化 サンプルコード in Objective-C

以前に作ったObjective-Cのサンプルコードをそのままコピペ。すげー、変な処理(無駄な)してると自覚してるコードなんだけど、誰からも突っ込みがないのでそのまま使う。この部分の効率を高めたとしても全体的な効率に貢献できるわけでもないしね(でも、突っ込み歓迎だよ)。

UIのボタンを作る

 20090329_geopotwitter_2

InterfaceBuilderで残り文字数とpostボタンの間にGeoPoボタンを入れる。んで、ビルドしてシミュレーターで確認するも反映されない ><

どうやら、InterfaceBuilderのファイルがあるものの、UIはコードの中に埋め込まれていた。なので、コードでボタンを設置。ついでにイベントも。

GeoPoボタンを押したときのイベントを作る
  1. GeoPoボタンを押す
  2. 位置情報を取得
  3. ジオポ符号化
  4. http://geopo.at/」に符号化したコードを加える
  5. Tweetの本文に4.を加える

以上のようなフローで処理を展開させる。

位置情報を取得

GClueの佐々木さんが作ったチュートリアルがわかりやすい。
iPhoneアプリ入門(GPS) ‎(iPhone App Docs)‎ GClue

ただ、このままだと位置情報をとり続けるので、位置情報を取得したあとは、

[locationManager stopUpdatingLocation];

してください。

そのタイミングなんだけど、精度が高まるまでチェックするとか、何秒後とかいろいろやり方あると思うけど、めんどくさいから僕はupdateをcountして2回目を取るとか、適当すぎる作り。

Tweetに反映

これで、ボタンを押せばTweetのテキストにジオポURLが付け加えられるようになった。

位置情報を取得している間は、本来ならば、プログレスアイコン(処理中を示すぐるぐる回ってるアレ)を表示させて、操作はできないようにすべきなんだけど、めんどくさいk(ry

アイコンと、ロード中画像を作って完成

47pxの正方形アイコンと起動時の画像を用意してあげて完成。

余談

iPhoneシミュレーターの位置情報デフォルト値はクパチーノのApple本社近くなんですね。それも、デフォルトアプリ「マップ」のアイコンデザインと同じとこ。

ジオポ @ CAクパチーノ

あと、シミュレーターでは複数回の位置情報アップデートがされない(値変わらないから)ことに注意してください。

Twitterクライアントの名前を残したい(このままだとfrom Webになる)ところだけど、メールでの申請が必要らしいので、自分専用クライアントのGeoPo Twitterでは無理。パス。

実機で使ってみる

20090329_1

アイコン。

20090329_2

夏Lion for iPhoneそのまま。

20090329_3

Tweetを入力して、GeoPoボタンを押すとGPSを使った現在位置のジオポURLを付加してくれる。

20090329_4

GeoPo Twitterからタイムラインのジオポをクリックして、アプリ内蔵のブラウザを通して地図を表示した様子。

GeoPoの仕様は最初、iPhoneからは直接デフォルトアプリの「マップ」に飛ばすようになっていたんだけど、アプリを跨ぐのが非常に煩わしいので、携帯版ジオポと同様、スタティックな地図を表示させて、地図下部にあるリンクからデフォルトアプリを呼べるように仕様変更した。

こっちのほうがいいと思う。うん。

20090329_5

別のTwitterクライアントであるTwitterFonで表示した様子。

TwitterFonの場合、タイトルが上部に表示されるので、住所も表示されていい感じ。

まとめ

僕はほとんど何もしてない。簡単にTwitterクライアントが作れることを実証。

Twitterクライアント開発者のみなさん、ジオポを実装してみませんか?詳しくは

ジオポ / 開発者向け情報

来週、東京で山手線ウォーキングをする予定なので、そのときにコレを活用してみる。Twitterでつぶやきが地図になり、つぶやきの連続がGPSトラッキングになるっていう面白さを伝えるためにね。

タグ: , , ,

コメント / トラックバック 3 件

  1. sawixed より:

    NTLNTweetPostViewControllerですね。
    ちょっと試行錯誤しながらやってみたいと思います。
    今後もサイトの方色々と参考にさせていただきます。
    ありがとうございました!

  2. inagaki より:

    昔なので記憶が定かではないですが、プロジェクトのソース見てみると
    NTLNTweetPostViewControllerにメソッドなどを書いています。

    IBは使ってますよ。「GeoPo」というボタンを追加して、アクションを設定しています。

    私が利用した、Natsulion for iPhoneのコードも古いと思いますので、今はファイル名など違っているかもしれません。

  3. sawixed より:

    古い記事へのコメント失礼いたします。
    記事大変参考にさせていただいております。

    ちょっとお聞きしたいのですが、どのようにIBを使わずにUIボタンを実装し、
    符号化したコードをどのようにTweet本文に反映しているのでしょうか・・・?

    Natsulion for iPhoneのソースコードを見ているのですが、
    素人初心者すぎて、不明点が多く、、
    差し支えない範囲でご教授願えると助かります。
    何卒よろしくお願いいたします。