2

私が最初に Apple の開発を始めたときにプロジェクトを開始しましたが、ファイル構造にいくつかの興味深い間違いがあり、それがこの問題の原因となっている可能性があります。つまり、最近、Xcode プロジェクトを、WWDC 2012 のサンプル コードの一部に基づいたワークスペースに切り替えました。

例として、localizable.strings ファイルにキーと値のペアがあるとします: "someStringThatShouldBeLocalized" = "root view title"

元の「物理」構造は次のようになります。

- iOS
-- localizable.strings
-- core data models & classes

ワークスペースの構造は次のようになります。

- iOS
- Mac OSX
- Shared
-- core data models & classes
-- en.lproj
--- localizable.strings

localizable.strings ファイル、およびコア データ モデルとクラスは、3 つのプロジェクトすべてで参照されています。それらのいずれかをビルドして実行すると、期待どおりに動作します。

  1. 正しいデータ モデルとクラスが使用されている。
  2. ローカライズされた正しい文字列が使用されている - 「ルート ビュー タイトル」

ただし、App Store からの更新をシミュレートすると (ストアで現在入手可能なアプリをインストールしてから Xcode から実行するか、ソース管理からタグ付けされたコピーからインストールします)、期待どおりに動作しません。

  1. 正しいデータ モデルとクラスが使用されていますが、
  2. 正しくない/ローカライズされた文字列が使用されていません。表示されるのは、NSLocalizedString(key, comment) への呼び出しのキーだけです - "someStringThatShouldBeLocalized"

繰り返しますが、問題は、以前にインストールされたアプリのバージョンから実際に更新する場合にのみ発生します.

ありがとう。

4

0 に答える 0