メインプロジェクトディレクトリにfoo.xibが含まれているローカライズされていない配送アプリがあります。ローカライゼーションの準備として、これをen.lproj/foo.xibに移しました。今、私が自分のアプリケーションをビルドしてテストデバイスにインストールすると、前回の古い古いfoo.nibが使用されてしまいます(インストールプロセスは、アプリケーションのバンドル内の古いファイルを削除してはいけません)。テストデバイスからアプリを削除して再インストールすると修正されますが、私は既存の顧客にそれをさせる必要はありません。iphoneアプリのアップグレードと移動xibs/nibsが無効なリソースにつながる
これらは、UIViewControllerの-initWithNibName:bundleメソッド(現在nibBundleにnilを渡しています)への呼び出しに由来します。私はおそらく、正しいローカライズされたディレクトリを指すNSBundleインスタンスを作成することができます。他はInfo.plistやinterface builderの "NIB Name"セクションで指定されているので、それらのバンドルを指定する方法はありません。
すべてのxibの名前を(たとえば)en.lproj/newfoo.xibに変更するほうが簡単かもしれませんが、実行時に正しいnibが見つかると推測します。 (新しいバージョンで古い "foo.xib"という名前をもう一度使用しないことを覚えておく必要があります)。 (時間外に戻ってen.lprojディレクトリから始めて;-)
ありがとう! -マイケル
私は今日、この厳密な問題について、momdの中にあるデータモデルに取り組んできました。 .ipaでコードをデプロイするときにファイルが削除されたことを確認できます。アドホックビルド.ipaを作成し、それを私のiTunesマシンにパントし、自分の携帯電話をアプリケーションストアと同期させてから、iTunesでipaファイルをインストールしました。それはXCodeがそれらを保存するのに対し、私が必要としないコアデータモデルファイルを削除しました。あなたの恐怖のいくつかを尽くしてくれることを願っています。質問を更新してくれてありがとう、ちょうど私がアプリストアのバージョンでも対処しなければならない「機能」だったと仮定していました。 :( – Diziet