2012-03-11 30 views
2

私のアプリをアップデートしようとしていて、問題が発生しました。私のメイン画面には、さまざまなビューにつながる一連のUIButtonがあります。 Interface Builderを使用してUIButtonを作成しました。更新されたiOSバイナリが更新されないMainView NIB

最新のアップデートでは、適切なデータがサーバーからダウンロードされるまでボタンを無効にしたいと考えています。奇妙な理由のため、Interface BuilderでNIBに加えた変更は機能しません。たとえば、私はIBのボタンを無効にしますが、Build &を実行するとアクティブになります。以前のバージョンのNIBをそのまま使用しているようです。 NIBからボタンを削除しようとしましたが、まだシミュレータまたはデバイスに表示されています。私がそれを修正するために見つけた唯一の方法は、理想的ではありませんが、デバイスやシミュレータのアプリ全体を削除し、新しいコピーをインストールすることです。しかし、私のユーザーは、おそらくそれを行うつもりはありません。彼らは単にApp Storeからアップデートをダウンロードします。

私はまた、実行前にクリーニングを試みましたが、それはどちらもうまくいきませんでした。

これはInterface Builderのバグですか?

編集:私はペン先の名前を変更して、自身の新しいバージョンを読み込むように更新を強制することができます。

更新:メインNIBファイルの名前を変更すると、デバイス/シミュレータが強制的にファイルを更新しました。私は本当にこれがどこかのバグだと思っています。私のコードは時々乱されるかもしれませんが、私はボタンを有効/無効にする方法を知っています。

+0

コードの状態を変更する必要があります。行[self.button setEnabled:NO]を追加します。それが役立つかどうかを確認してください。 – CodaFi

+0

それを試してみてください。まだ何も。 – Matt

+4

ローカライズされたnibファイルで新しいアプリケーションバージョンを作成した後、この問題に遭遇しました。アップグレードすると、元のバージョンとローカライズされたバージョンの両方がそこにあり、アプリは元のバージョンにデフォルト設定されていました。それがあなたの問題なのかどうかはわかりませんが、問題がある顧客について心配する必要はありません。これは、Xcode経由でインストールする場合にのみ問題になります。これらの古いペン先は、App Store経由でアップグレードするときに消去されます。 –

答えて

0

これはあなたの責任ではありません。これは、Xcode(上記の質問の1年後に質問されたもの)が実行する前にシミュレータまたはデバイスのいずれかのアプリケーションフォルダにリソースをインストールする方法の欠点です。新しいリソースや変更されたリソースをコピーします(インストール時間が短くてすばらしいですが)ではなく、は廃止されたリソースを削除します。この動作は、私のビューコントローラーの一部で.xibファイルを使用しなくなってしまったときに私に似ています。実際にはそれらをプロジェクトから削除しましたが、ビューコントローラーはロードし続けました。に。

インストールする前にシミュレータまたはデバイスからアプリケーションを削除すると、古いリソースも削除され、次のインストールではビルドで指定されたリソースのみが削除されます。

私はまだ解決策に取り組んでいます。もし私がそれについて考えるなら、私が何かを思いついたらこの答えを更新するでしょう。

は、App Storeまたは.ipaファイルからインストールするときに発生します。このインストールプロセスでは、リソースのクリーン再インストールが行われたようです。

関連する問題