Xcode

Xcodeが最新なのにiOS5 SDKがインストールされてない

iOS5 SDKが無いせいで実機にビルド、転送する際にビルドできないとなってしまいました。
※プロジェクトの設定でBase SDKでiOS5(Lastest iOS)が選択できないため
SpotlightでXcodeを検索してInstall Xcodeを実行するとiOS5 SDKインストールできるとどこかのブログに書いてあったので実行したらインストールできました。

プロビジョニングファイル作成から実機転送手順

プロビジョニングファイルを作成し、iPhone実機でテストする際の手順。

開発マシンで証明書署名要求(CSR)作成

開発用証明書(Development/Developer Certificate)を生成するために使用される個人情報が含まれてる。
iOSプロビジョニングポータルにこの要求を提出し、開発用証明書を取得する。

  • [アプリケーション] -> [ユーティリティ] -> [キーチェーンアクセス]から、キーチェーンアクセスを起動。
  • キーチェーンアクセスのメニューの「環境設定」を起動。
  • 「一般・First Aid・証明書」とあるので、証明書をクリック。
  • 「オンライン証明書状況プロトコル(OCSP)」を「可能な場合に適用」
    「証明書執行リスト(CRL)を「可能な場合に適用」
    「優先順位」を「OCSP」に設定。
  • キーチェーンアクセスのメニューから [証明書アシスタント] -> [認証局に証明書を要求]
    • ユーザーのメールアドレス:iOS Dev Centerに登録しているメールアドレス。
    • 通称:iOS Dev Centerに登録している名前。(iOS Dev Centerにログインして、右上に表示されている名前)
    • CAのメールアドレス:空白。
    • 要求の処理:ディスクに保存、鍵ペア情報を指定にチェック
  • 上記を設定して「続ける」ボタンクリック。
    • 鍵のサイズ:2048ビット
    • アルゴリズム:RSA
  • 上記に設定して「続ける」ボタンクリック。

証明書署名要求(CSR)の登録と開発用証明書の取得

  • ブラウザで、iOS Dev Centerにログインして、右側にある「iOS Provisioning Portal」にアクセス。
  • 左のメニューから「Certificates」にアクセス。
  • 一番最初であれば、 「Request Certificates」ボタンをクリック。
  • 画面下にファイル選択用のボタンをクリックして証明書署名要求ファイルを選択。
  • Submitボタンをクリック。
  • Certificatesの一覧ページになるので、しばらくして再読込すると「Download」ボタンが表示されるので、クリックして保存。
    その下の「If you do not have the WWDR intermediate certificate installed, click here to download now.」 のリンクのファイルを保存。

開発用証明書の登録

  • キーチェーンアクセスを開き、ダウンロードした、「developer_identity.cer」ファイルを [ログイン] -> [自分の証明書] のところへドラッグして登録する。
    もう一つダウンロードしたファイルの「AppleWWDRCA.cer」はダブルクリックして登録する。

プロビジョニングファイル登録・デバイス転送

  • Xcode4のオーガナイザを開き、転送する実機をUSBのケーブルで繋ぐ。
  • DEVICESの下に実機の名前が表示されたら、DEVICE名をクリックして、下にある「Add to Portal」をクリック。
    自動的にiOS Dev Centerに接続してiPhoneの登録をしてくれる。
  • iOS Dev Centerに戻り、左のメニューの「App IDs」をクリック。
    ※一度作成したAppIDは、削除出来ない。
  • 右上にある「New App ID」ボタンをクリック。

    • Discription:半角英数字で入力。アプリ名と同じだとわかりやすい。
    • Bundle Seed ID (App ID Prefix):Generate New
    • Bundle Identifier (App ID Suffix):ドメインを逆にしたもの+アプリ名か、*にするとよい。
    • com.yourdomain.appname or com.yourdomain.*

    ここに設定したBundole IdentifierとXcodeのinfo.plistのBundle identifierは同じにする。

  • 設定したら「Submit」ボタンをクリック。
  • Xcode4に戻り、左のプロジェクト名をクリック。
  • Projectをクリックして、Build SettingsのCode Signing IdentityのDebugをTeam Provisioning Profileに変更する。Any iOS SDKも同じように変更。
  • TERGETSをクリックして、Build SettingsのCode Signing IdentityのDebugをTeam Provisioning Profileに変更する。Any iOS SDKも同じように変更。
  • iPhoneをUSBのケーブルでつなぎ、Schemeをクリックして、iPhoneの名前を選択して、Runをクリック。実機に転送される。

2台目以降のMacで開発する場合

複数のMacで開発する際の証明書 | iPhoneアプリ開発雑記帳.

Xcodeでフォーマット

個人的にソースコードは見やすく書きたいタイプの人間なのですが、Xcodeにはフォーマット機能がありません。

調べたところ、外部のコード整形プログラムUncrustifyを使用して、それをXcodeから呼び出す形で実現できるようなので、フォーマットできるようになるまでの備忘録として書いておきます。

Uncrustifyのインストール

githubにソースコードが上がっていたのでそれをダウンロード、configure、make、installします。

$ cd ~/Desktop/bengardner-uncrustify-20b21c2/
$ ./configure
$ make
$ sudo make install

成功すると /usr/local/bin/uncrustify にインストールされます。
また、ビルドしたuncrustifyディレクトリのtests/configには、サンプルで設定ファイルがあります。この中のobj-c.cfgという設定ファイルを使ってもいいのですが、今回参考にさせて頂いたサイトのdrikinさんが設定ファイルを公開されていたので、そちらをとりあえずそのまま使用させてい頂きました。

設定ファイルを/usr/local/share/uncrustify/にコピーします。

$ sudo cp ~/Desktop/obj-c_dk.cfg /usr/local/share/uncrustify/

Xcodeのスクリプトに登録する

Xcodeからユーザースクリプトを登録します。

入力を文書全体、出力を書類の内容を置き換える、ショートカットをShift+Ctrl+i、スクリプトを以下のものを登録しました。

#!/bin/sh

echo -n “%%%{PBXSelection}%%%”
/usr/local/bin/uncrustify -q -l oc+ -c /usr/local/share/uncrustify/obj-c_dk.cfg <&0 echo -n "%%%{PBXSelection}%%%" [/bash] これで、フォーマットできるようになりました。 ビルドする際に自動でフォーマットもできるようなので、その場合はCode beautifier and formatter with Xcodeを参考に。

設定ファイルについてはこちらが参考になります。