質問

私は、アプリケーションの設定で、我々のアプリのビルドバージョンを表示するQAの目的のためには、PSTitleValueSpecifierとして表示します。私はのDefaultValueとして我々のアプリの現在のビルド番号を設定し、私はすべての新しいビルドのためにそれを更新します。

私の問題は、私はXcodeの経由のdevの携帯電話上で我々のアプリケーションの新しいビルドを展開するたびに、バージョン値が更新されません、ですが、以前のビルドで残っています。バージョンの値を更新する唯一の方法は、DEV電話からアプリを削除して、新しいビルドを展開することです。彼らはその後、彼らの持続データのすべてを失うので、明らかに、このアプローチは、我々のQA部門を喜ばれません。

私は再コンパイルおよびデプロイ、プロジェクトの清掃、試してみましたが、私は同じ動作を取得ます。

他の誰がこの問題を経験していますか?それを回避する方法上の任意のアイデア/それを修正?

役に立ちましたか?

解決

この値は、ディスク上に格納され、アプリケーションが除去された場合にのみ除去されるNSUserDefaultsを使用して格納されているため、

これはあります。あなたは明示的にコード内で使用すると、他のユーザーのデフォルトと同じようにそれを設定することができます。あなたが新しいビルドを送信したいときは、ちょうどあなたがあなたの変更のInfo.plist内のフィールドを作成することができます。起動時のplistからその値を読み、その後で、ユーザーのデフォルトにそれを書きます:

NSString *value = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"build_version"];
[[NSUserDefaults standardDefaults] setObject:value forKey@"build_version"];
[[NSUserDefaults standardDefaults] synchronize];

もちろん、あなたはあなたのキー名は、お使いの設定ファイルにあるもので、「build_version」を交換してください。それはハックですが、それはあなたのQAの人々を満足させるかもしれません。

引数のために、それはあなたが完全にバージョン番号の更新を見る前に、以前のバージョンを削除する必要があることを期待して、実際には合理的である、しかし、私はすべてのQAの人々が合理的ではない実現しています。 ; - )

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top