UIの基礎

どんなアプリもとりあえずこれは守ってほしい。

ユーザ
・ユーザは説明を読まない。可能な限り説明しないでも使える様にする。
・ユーザは慣れることは無い。小さなストレスは常に掛かり続ける。
・ユーザにできるだけ操作させない。メニューの階層を必要以上に深くしない。

配置
・同じ情報を扱うものはできるだけ近くに配置する。可能であれば同一化する。
ボタンを押すとボタン自身の表記が変わるなど。
・アフォーダンスを考慮する。
ボタンとして動作するものはボタンの形であることがユーザに取って重要。
・同一の動作をするものは別の場面でも同一の場所に配置する。
・違う動作をするパーツを他の場面で同一の箇所に配置しない。

iOS開発でハマった点2点

iPhoneの開発者ライセンスをずっと持っていたのですが、OSの先行アップデートするくらいで何もしていませんでしたので、GWを使って少し勉強しています。そこでハマった点2点。

■iPhone3Gの実機に転送できない。

「Xcode cannot run using the selected device.」
なんていうエラーが出て、 実機での実行が出来きませんでした。
エミュレータでは動くので何故か全然分からなかったのですが、下記URLに同様の問題が。
「バージョンが4.3に上がってないからだよ」

http://stackoverflow.com/questions/5382772/xcode-cannot-run-using-the-selected-device

だが、iPhone3Gは既に4.2.1で打ち止めのようで、プロジェクトのほうを4.2に合わせて解決。

■プロビジョニングファイルの重複によるエラー

CodeSign error: Certificate identity ‘証明書名’ appears more than once in the keychain. The codesign tool requires there only be one.

というエラーが出た場合、Mac本体のキーチェーン内に同名の証明書があるのが問題です。

古い証明書をキーチェーンアクセスから削除してみてください。

2.2→3.0

iPhoneをアップデートしました。

さすがにテザリングはできませんが、ボイスレコーダーやMMSが追加されていていい感じです。MMSはなぜかちゃんと動いてないで、なんとも効果がわからない、といえばわからないのですが。WLAN配下だとだめなのかな?