iPhone アプリケーション
-
はてな touch/Hatena touch
-
LDR touch
-
テレビ番組表/TV Listings
-
LCD Clock by forYou Inc.
-
MyWebClip by forYou Inc.
-
MyWebClip LITE by forYou Inc.
-
Japan Subway Route Map by Studio Heat
-
こころくろっく by AppBank
-
英辞郎 on the WEB for iPhone by アルク
-
i-Radio by i-Radio
-
くるりんぱ性格診断 by 小学館
-
英辞郎検索ランキング(アルク) by アルク
-
kotobank - コトバンク by genesix
-
miil by frogapps
iPad アプリケーション
共著
2011-11-20
Titanium mobile の KeyChain モジュール TiKeyChainStore を書きました。【添削希望】
UICKeyChainStore を応用して Titanium mobile の KeyChain モジュール TiKeyChainStore を書きました。
kishikawakatsumi/TiKeyChainStore ? GitHub
下記のように使います。
var store = tikeychainstore.createKeychainStore({ service: 'com.kishikawakatsumi.ti' // optional }); store.setKeyChainItem ({ key: 'userame', value: 'kishikawakatsumi@mac.com' }); store.setKeyChainItem ({ key: 'password', value: 'password1234' }); store.synchronize; Ti.API.info(store.description); // debug print
Titanium のモジュールは初めて書いたので、詳しい方に添削してもらえるとうれしいです。
関連リンク
KeyChain のデータを操作するラッパークラス UICKeyChainStore を書きました。
アップルのサンプルコード GenericKeychain に含まれる KeyChain のラッパー KeychainItemWrapper.m の実装が微妙だったので書きました。
kishikawakatsumi/UICKeyChainStore ? GitHub
KeychainItemWrapper クラスには下記で報告されている問題や、
A-Liaison BLOG: KeychainItemWrapper を改造して、複数の Keychain Item に同時にアクセス出来るようにしてみた
下記の箇所でメモリーリークする問題があったり、使い勝手もよくないので、そのまま使うのはおすすめしません。
- (void)resetKeychainItem { OSStatus junk = noErr; if (!keychainItemData) { self.keychainItemData = [[NSMutableDictionary alloc] init]; // <= メモリーリークする!
というわけで、あたらしく書いて見ました。
使い方
- リンクするフレームワークに Security.framework を追加します。
- UICKeyChainStore.h と UICKeyChainStore.m をプロジェクトに追加します。
クラスメソッドを使って値を操作する
便利メソッドとしてクラスメソッドを用意してあります。キーと値を指定するだけで簡単に使えます。
サービス名を指定しない場合は自動的に Bundle ID がサービス名になります。
キーと値を指定して値を追加・更新する。
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username"]; [UICKeyChainStore setString:@"password1234" forKey:@"password"]; //=> ["username" = "kishikawakatsumi", "password" = "password1234"]
サービス名を明示的に指定することもできます。
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" service:@"com.kishikawakatsumi"]; [UICKeyChainStore setString:@"password1234" forKey:@"password" service:@"com.kishikawakatsumi"];
値をキーチェーンから削除するにはキーを指定します。
[UICKeyChainStore removeItemForKey:@"username"]; [UICKeyChainStore removeItemForKey:@"password"];
サービス名を指定していた場合は、サービス名も含めて指定します。
[UICKeyChainStore removeItemForKey:@"username" service:@"com.kishikawakatsumi"]; [UICKeyChainStore removeItemForKey:@"password" service:@"com.kishikawakatsumi"];
KeyChainStore オブジェクトを使って値を操作する
複数の項目を追加・更新する場合は UICKeyChainStore のインスタンスを作成するほうが便利です。
NSUserDefaults のような使い勝手になります。
デフォルトのサービス名 (Bundle ID) の KeyChainStore を作成した場合。
UICKeyChainStore *store = [UICKeyChainStore keyChain]; [store setString:@"kishikawakatsumi@mac.com" forKey:@"username"]; [store setString:@"password1234" forKey:@"password"]; [store synchronize]; // Write to keychain.
サービス名を指定して KeyChainStore を作成した場合。。
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"com.kishikawakatsumi"]; [store removeItemForKey:@"username"]; [store removeItemForKey:@"password"]; [store synchronize]; // Write to keychain.
miil 1.0.1 がリリースされました。

miil 1.0.1 がリリースされました。
バージョン 1.0.1 の変更点
- 利用規約を変更しました。
機能改善
- ユーザー一覧画面のフォローボタンのタップ領域を拡大し、押しやすくしました。
- Twitterから友だちを検索する際のUIを改善しました。
- 現在地以外の位置情報を投稿できるようになりました。
- お店を新しく登録する際の手順を改善しました。
不具合の修正
- HOTタイムラインの並び順が更新されない問題を修正しました。
- フォローボタンが正しく動かない問題を修正しました。
- ユーザー登録できないことがある問題を修正しました。
- お店の情報が正しく追加されないことがある問題を修正しました。
- iPod touchで電話をかける画面が表示されてしまう問題を修正しました。
- 「お知らせ」を表示する際にクラッシュすることがある問題を修正しました。
- 「続きを読みこむ…」を押した際にクラッシュすることがある問題を修正しました。
- 新着の「お知らせ」バッジが表示されないことがある問題を修正しました。
関連リンク
miil 1.0.0 がリリースされました。

私がプログラムを担当しました、miil 1.0.0 がリリースされました。
食べものの写真を通して「おいしい!」を共有するアプリケーションです。
写真を撮って投稿したり、ほかの人の写真をみたり、
ほかの人の写真をみたり、感想を書き込んだり、
食べたい写真があったら、お店を調べたりできます。
眺めているだけでも楽しい気分になるアプリケーションですので、ぜひダウンロードしてみてください。























