私はかなり奇妙な問題を抱えており、まだその真相を解明することはできません。この問題が他の場所で議論されているのを見たことがないので、ここに文書化したいと思います。
Xcode3で開発していたiPhoneアプリがあります。これは完全に機能しており、デバイス上でも完全に機能するアドホック配布をいくつか実行しました。
その後、Xcode4 にアップグレードし、次にアドホック配布を行ったときに、起動時にアプリがクラッシュしました。言うまでもなく、シミュレーターと私の開発マシンに接続されたデバイスで機能しました。クラッシュ ログはあまり役に立ちませんでした。UIApplication への標準呼び出しで、main.m のクラッシュが示されました。もちろん、私はそのファイルを変更したことはありません。掘り下げてつなぎ合わせた後、問題を発見しました。
Xcode は、私の *.xib ファイルのファイル タイプが file.xib ではなく text.xml であると判断したため、これらのファイルをコンパイルする代わりにアプリ バンドルにコピーするだけでした。MainWindow.nib ファイルが見つからなかったため、アプリは起動時にクラッシュしていました。
Subversion チェックインをさかのぼると、xcodeproj 内の project.pbxproj ファイルに記録されているファイル タイプが、Xcode4 アップグレード後の最初のチェックインで変更されていることがわかりました。それがどのように、またはなぜ起こったのか、私にはわかりません。また、その設定にどのように影響するかを UI から確認することもできず、変更された xib の一部も開いていません。(私の問題を解決するために、テキスト エディターで pbxproj ファイルを変更しました)。
では、これがどのように、またはなぜ起こったのかについての洞察を持っている人はいますか?