Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20120826i phonedeveloperworkshop

3,398 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

20120826i phonedeveloperworkshop

  1. 1. 知ってる知らないで変わる XCode開発の小技集 朔 洋一郎 (@saku2saku)
  2. 2. iPhone Developer Workshop とは? iPhoneアプリ開発者の交流 技術情報の交換 比較的初心者の方も多いです というか自分もそこまで熟練者ではないです そのため、もしかしたら間違ったことを言ってしま うかもしれませんがご容赦ください 一緒にアプリ開発の勉強をしていきましょう!
  3. 3. 自己紹介名前 朔 洋一郎趣味 漫画を読みあさる プログラミング 料理 趣味創り
  4. 4. 製作iPhoneアプリ 世界夜景旅行 for iPhone MusicPlayerSleepTimer MusicPlayerSleepTimerFree 世界名作アプリiPadアプリ 世界夜景旅行 工場夜景探検 夜桜花見旅行Web さくさく日記 http://iphonework.biz/ iPhone Developer Workshop http://workshop.iphonework.biz/
  5. 5. 知ってる知らないで変わる XCode開発の小技集
  6. 6. 今回の小技集キーバインド キー入力の効率化による開発スピードアップBuild Settingの利用 プリプロセッサマクロとその組み合わせスキーマの作成 Build Settingとの組み合わせによる ワンクリックでの環境選択info.plistのスイッチング Build Settingの応用素材準備の効率化 @2xのファイルを1/2に一括リネーム縮小
  7. 7. サンプルコード置き場サンプルコードを以下においてあります http://workshop.iphonework.biz/files/ 2012/08/20120826iPhoneDevWS.zip http://workshop.iphonework.biz/files/ 2012/08/20120826Automator.zip
  8. 8. キーバインド皆さんはいつもはどのようなキーバインドで操作をしていますか? Emacs or vi ? or その他? 私は KeyRemap4MacBook を使っています何故キーバインドか? キーボードからマウスやパッドに手を動かすとその 分の時間コストがかかります 時間コスト = キーボード・マウス間の移動時間 x 2 (一操作あたり)
  9. 9. 特に良く使うキーバインドキーの上下左右移動:Ctrl + p, n, b, f行の先頭・最後に移動: Ctrl + a, eマークセット:Ctrl + Space行削除: Ctrl + k切り取り・貼付け: Ctrl + w, Ctrl + y
  10. 10. ショートカットの活用先程のキーバイントと組み合わせてXCodeのショートカットを利用するとさらに効率アップ Ctrl + 5:同階層のファイルの選択 Ctrl + 6:ファイル内のメソッド選択 (さらにキー入力で絞り込み可能) + Shift + F:プロジェクト内の検索 + F:ファイル内の検索 + L:指定した行数へのジャンプ
  11. 11. Build Setting の利用Build Setting とは? その名のとおり、Build時の設定を保存しておける プリセットどんな時に役に立つ? プリプロセッサマクロを設定して本番/開発で 環境をかえたいとき それに合わせて次のスキーマも活用する 必要がある
  12. 12. Build Setting の利用メジャーどころの活用としてプリプロセッサマクロの設定を見てみましょう TARGETSからアプリを選択して、Build Settingsを 開く 「Preprocessor Macros」を見る 検索窓に「prep」まで入力すると簡単 今のXCodeの設定では Debug プロファイルには DEBUG=1が設定されている Releaseプロファイルには何もない状態
  13. 13. プリプロセッサマクロは どう活用するの?#ifdef ∼ #elif ∼ #else ∼ #endif を活用 ∼の部分には条件式を書きます ∼の部分にプリプロセッサマクロの値を書くと、 マクロの定義がされていれば真と判定されます #ifdef DEBUG  DEBUGが設定されている場合の処理 #elif HOGEHOGE  HOGEHOGE設定されている場合の処理 #else  DEBUGもHOGEHOGEも設定されていない場合の処理 #endif
  14. 14. 具体的な活用例よく使われるのはDEBUG時のみNSLog出力するような設定 Log4j風味の ヘッダファイルを作成してみた FATAL > ERROR > WARN > INFO > DEBUG > TRACE 挙動について フラグ無し: ERROR 以上を出力 WARNを設定: WARN 以上を出力 以下同様
  15. 15. スキーマの設定スキーマとはXCodeの左上に表示されているものこれを設定すると何が嬉しいのか? 先程のBuild Setting との合わせ技で 複数環境に対しての設定変更をクリックひとつで 変えられます
  16. 16. 実例以前関わったあるプロジェクトにおいて、Webとの連携があり、本番環境と試行環境で別々の接続情報を保持していた // baseURL #define baseURL @"http://hogehoge.example.com/" //#define baseURL @"http://development.example.com/" // devlopment // hostname #define hostname @"hogehoge.example.com" //#define hostname @"development.example.com" // devlopment // facebook app id #define facebookAppId @"129387101XXXXX???" //#define facebookAppId @"119382XXXXXX????" // devlopment環境を切り替えるたびにコメントアウトを設定していたが結構面倒だったりする
  17. 17. スキーマの作成スキーマを作ると、Run, Test, Profile, Archiveなどでそれぞれに自分の作った Build Settings を選択できる この機能により、様々な状態をワンクリックで 切り替えることが可能になる 具体例 iPhoneDevWS & Run : 本番かつDEBUG有り iPhoneDevWS & Release : 本番かつDEBUG無し iPhoneDevWSDev & Run : 開発環境かつDEBUG有り iPhoneDevWSDev & Release : 開発環境かつDEBUG無し
  18. 18. TIPSスキーマ設定を他の開発者とGitやSubversion上で共有するときスキーマ設定画面での Shared にチェックを付けるとスキーマ設定もコミット対象のリストに出るようになります
  19. 19. info.plistのスイッチング以下の場面で必要になりました Facebook との連携があるため、アプリスキーマの 設定を開発用と本番用で変えたい 実機上のアプリアイコン名を開発用と本番用で変え たいBuild Setting の応用で可能です! Build Settings の Info.plist File の設定で ビルド設定毎に読み込むファイルを指定可能です
  20. 20. 画像素材の準備効率化Automatorを使って効率化します何気に結構色々なことができたりします画像ファイルが少ない場合は手打ちもいいですが、多くなってくると煩雑です Automatorを使って一気に自動処理してしまいま しょう 用意するもの:Automator, @2xファイル群
  21. 21. ご清聴ありがとうございました

×