ios

AFNetworking でベーシック認証に対応する方法

久しぶりの Objective-C。 定番通信ライブラリ『AFNetworking』で、ベーシック認証が設定された Web API にアクセスする方法を README や Github の Wiki で調べてみた。 さっぱりわからない。 仕方ないので、ソースコード読んだり、StackOverflow 漁ったり…

NSString のプロパティに NSNull が入っていてハマった

オブジェクトのプロパティの値を UITextField の text に設定しようとしたら 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x2264678'っていうエラーが出てアプリが落ちた。nil が入っているなら例外…

SSKeychain を使って Keychain Service にパスワードを保存したみた

例えば、Web サービスの iPhone クライアントの場合、ユーザーに Web サービスのアカウント名とパスワードを入力してもらう必要がある。で、入力してもらったパスワードを安全に保存しなきゃいけないんだけど、嬉しいことに iOS は Keychain Service という…

入力時にキーボードで隠れないように UITextField を UIToolbar に配置する方法

iPhone 画面下のツールバーにテキストボックスとボタンを配置して、コメント投稿バーみたいなやつを作ってみた。Storyboard からはツールバーにテキストボックスを直接配置できないけど、テキストボックスを UIBarButtonItem でくるんでツールバーに追加する…

UIActivityIndicatorView を使って画面中央にインジケーターを表示してみた

Web API を呼び出している間、画面に何のデータも表示しないってのはユーザーを不安にさせるので、画面中央にインジケーターを表示することにした。標準で UIActivityIndicatorViwe というシンプルなインジケーターが提供されているので、こいつを使ってみる…

NSURLConnection を使って非同期に Web API を呼び出してみた

Objective-C で Web API を非同期に呼び出すのに使えるライブラリを探していて、ASIHttpRequest や AFNetworking あたりが使えそうだったけど、標準の NSURLConnection にも非同期メソッドがあったのでこちらを使ってみる。練習に、GitHub のリポジトリ一覧…

NSJSONSerialization で JSON 文字列をパースしてみた

Web API が返す JSON をパースするライブラリの定番は JSONKit みたいだけど、iOS5 から標準で NSJSONSerialization っていうクラスが提供されているので、こちらを使うことにする。まずは練習として JSON 文字列をパースして NSArray に変換してみた。 // J…

UITableViewで行を削除しようとして躓いたメモ

UITableView の編集モードを使って // UITableView に表示するデータの件数を返す -(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section { return [self.model dataCount]; } // 行はすべて編集可能にする -(BOOL)table…

CocoaPods を使って TapkuLibrary を導入

はじめに CocoaPods 導入したことだし、プロジェクトで使っているライブラリをすべて CocoaPods でインストールし直そうかな。ってことで手始めに TapkuLibrary をインストールしてみる。 devinross/tapkulibrary · GitHub TapkuLibrary は iOS 用 UI 部品を…

Objective-Cのライブラリ管理ツールCocoaPodsを導入してみた

CocoaPodsって何? CocoaPods/CocoaPods · GitHub CocoaPods は Objective-C のライブラリ管理ツール。Ruby の Bundler みたいなもの。開発中の iPhone アプリでカレンダーが使いたくなって TapkuLibrary を README を見ながら導入したんだけど、プロジェク…