付箋かんばんにTwitter連携機能が追加(Ver1.3)

付箋かんばん
ToDo管理アプリ『付箋かんばん』のVer1.3がリリースされました。
今回から、"todo"で始まるTwitterのダイレクトメッセージを付箋として取り込めるようになったよ。

d twitterid todo Blog書く

というダイレクトメッセージを自分のツイッターに送っておけば、付箋かんばんに『Blog書く』が取り込めます。
todoはTodoでもTODOでもOKです。
自分のように会社でずっとPC使って作業しているような人には役に立つはず!

起動時に勝手に通信すると嫌な人もいるかもしれないので、ボタン押して実行するようになってます。ソフトバンクの課金額を最低にキープしたい7月の自分のような人も安心です。

もじパ 小1漢字〜小3漢字 リリース

iTunesへのリンク
小1〜小3までの各学年にしぼった漢字の読みを学習するゲームをリリースしました。
各学年とも115円です。高学年のほうが習う漢字が多いので、相対的にお得ですw

漢字の読みを、解答候補のパネルから選んで並べるゲームです。
対戦もつけたので、接戦を演じれば子供はきっと燃えますw
どうせiPhone触りたがるなら、ついでに勉強してくれよ、ってコンセプトです。

まじめな紹介ページはこちら

開発者向け情報
・日本語onlyなためか、審査はいつもより長かったです。13日かかりました。(たまたま?)

どうでもいい裏話
・本当は息子用にひらがな、カタカナ勉強用に作ってました。
・作成放置プレイ中に、息子は読むのはできるようになってました。今は書き。
・漢字は問題を作るのが比較的楽。かなの問題は考えるの面倒。
・とはいえ、学年上がるとどんどん漢字数が増えてorz
・てなわけで、4年生以降を作るか未定

パスワード入力欄のUITextField

パスワード入力欄のUITextFieldでは、Doneを押したらキーボードが閉じて欲しいので、次のように設定する。

InterfaceBuilderでやっちゃえること

1. UITextFieldを配置
2. Text Input TraitsのところでReturn KeyをDoneに設定し、Secureにチェックをいれる

3. Outletsでdelegateをセットする

ソース側でやること

1. delegateされるクラスの.hファイルにUITextFieldDelegateを実装を宣言する

@interface HogeController : UIViewController <UITextFieldDelegate> {

2. delegateされるクラスの.mファイルで、Doneが押されたときの処理を実装する

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
	[textField resignFirstResponder];
	return YES;
}

Twitter APIでハマり中〜解決〜

synchronousな通信の場合に、下記の記述がリファレンスに。これが関係あるかどうか正直わかってないけど、続けようとしてるからステータスコードが変だったのかな?

If authentication fails, or credentials are missing, 
the connection will attempt to continue without credentials.

というわけで、非同期にしたら普通に認証失敗で401が取れました。

Twitter APIでハマり中

一応解決済みTwitter APIでハマり中〜解決〜

ダイレクトメッセージの取得で、認証エラーを発生させてるんだけど、ステータスコードが401にならない・・・。ブラウザだとちゃんと401になってるのになぁ。

自分アカウントに間違いパスワード"aaa"で、下記のようにアクセス

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
    [NSURL URLWithString: @"http://masatoshisw20:aaa@twitter.com/direct_messages.xml"]];
[request setHTTPMethod: @"GET"];

NSError *error;
NSURLResponse *resp;
NSData *dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&resp error:&error];
NSString *stringReply = [[NSString alloc] initWithData:dataReply encoding:NSUTF8StringEncoding];
NSHTTPURLResponse *response = (NSHTTPURLResponse *)resp;
NSLog(@"statusCode=%d\n%@", [response statusCode], stringReply);

コンソールへの出力はこうなる

2009-08-21 05:52:35.967 PostItWall[814:20b] statusCode=0
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <request>/direct_messages.xml</request>
  <error>Could not authenticate you.</error>
</hash>

xml部分は正しいんだけど、ステータスコードが0になる。なんかくだらないミスがあるのかな?
ちなみに、正しいパスワードを与えたときのステータスコードはちゃんと200になる。

時間がないので、今朝はここまでか。

プロジェクト名の変更

ググッてプロジェクト名の変更にチャレンジしたけど、実機への転送がうまくいかなかったので、ググッた情報との差分をメモ。
参考にさせていただいたサイトはこちら。Xcode3.0でプロジェクト名を変更する方法 〜 ザリガニが見ていた...。

こちらのサイトの情報を参考に変更を行ったところ、ビルドまでは成功したが、実機への転送で"旧名.app"を転送しようとして失敗。そこで必要となる処理は以下。

  • "プロジェクト名.xcodeproj"ディレクトリ内の"project.pbxproj"に含まれる"旧名.app"を、新しい名前に変更する

これで転送に成功しました。大丈夫そうに見えてます。

ふ、付箋かんばんのレビュー動画だって?!

バリ5!さんの『いぽねいじり』第11回にて、付箋かんばんのレビューをしていただけました。
マジうれしいです。ありがとうございます。

#この動画のおかげで、初めて妻に何を作っているのか興味を持ってもらえましたw