新しい開発機を追加する

iPhone以前に使っていた初代iPod touch 16GBを奥さんにあげたつもりが、彼女が普段嬉々として使っているのは初代iPod nanoだったりする訳で、このままiPod touchをガジェット箱に収めておくのももったいないので開発機として使ってあげる事にしました。

OSが1.1.4だったので2.2.1までアップデートしたんですが、そこは省略。

接続した状態でXcodeを起動すると、開発機として使うかどうか聞かれるので素直に「使う」と答えておく。さて、適当なプロジェクトをビルドして転送。エラー。

以下のような手順が必要。手抜きは認めんっていうことらしい。

  1. 新しいデバイスIDを登録
  2. Provisioning Profileの編集
  3. Xcodeのプロジェクトの設定更新

新しいデバイスIDはオーガナイザやiTunes上で実機のIdentifierとして表示されている長いIDをコピー。プログラムポータル上でIDを追加する。

続いてProvisioning Profileの編集を開くと、先ほど登録したIdentifierのデバイスがチェックが外れた状態になってるのでチェックして保存。ダウンロードしたProvisioningをダブルクリックすればXcodeを通して実機にも転送される。

さぁ、適当な既存のプロジェクトをビルドして…。以下のようなエラーが出てビルドすらできません。
CodeSign error: a valid provisioning profile is required for product type 'Application' in SDK 'Device - iPhone OS 2.2.1'

最後にXcodeのターゲットのコード署名IDのIDが古いもののままなので新しいものと置き換えてあげる必要がある。

  1. プロジェクトのサイドバーのターゲットの情報を見る
  2. コード署名IDのポップアップで選択されているIDを確認
  3. リストの上の方にある正しいProvisioning Profileを選択し直す

これは手動でやらないと変更されないので注意。これで新しい開発機を追加する事ができる。ちなみに別のプロジェクトファイルを開いたら問題なく実行できるものもあった。比較的最近のSDKだとiPhone Developer: Hoge Hogeって追記する必要がなかったりするので、扱いが変わったのかなー。

追記@2009/03/02
一つ手順を飛ばしてたのだけれど、プロジェクトの情報側のコード署名IDも古いままです。ターゲットの情報と同様の更新をする必要があります。