SUPってなに?
SUPってなに?
2010.05.11

project.pbxprojの怪

鳥よし

iPhoneアプリの開発をしている際に、今までうまく行っていたのに、何故か急に実機登録ができなくなる(プロビジョニングに失敗する)事がある。

僕の場合は、大体「project.pbxproj」を疑う。

何故なら過去に痛い目を見たから。。

僕がハマった問題は、何故だか「project.pbxproj」の「PROVISIONING_PROFILE」や「CODE_SIGN_IDENTITY」に古い情報が残ったままになっていて、code sign errorが出ていた。

対除方法は「project.pbxproj」のバックアップを取り、中に書かれている「PROVISIONING_PROFILE」と「CODE_SIGN_IDENTITY」を行ごと消して再コンパイルしている。

「project.pbxproj」の編集方法は、Finderから作業中の「.xcodeproj」で右クリックし、パッケージの内容を表示を選択

すると、中に対象となる「project.pbxproj」ファイルがある。

慣れていれば簡単に見つけられるのかもしれないが、一番始めは何が起こってるか分からず苦戦した。

別の問題でつい最近、コンパイルは通るし、ソースも合っているはずなのに画面遷移すると意図しない動きが発生していた。
調べてみたら、Begin PBXGroup section の「children」の中に何故だかxibが紛れ込んでいた・・・
正しい場所に書き直してあげたらうまく行くという。

なんでこうなったのか、原因が分からないのは非常に怖いが、これでなんとか対処できた。