ひさーしぶりに、書き込みます。何年ぶりだろうか。放置していたので、スパム業者のコメントがありましたので掃除しておきました。
NSMutableStringでトラブったのでその対策を書いておきます。 ググっても他には余り出てこないようなので。ということは、書いてもあまりニーズ無いかも。。。 まあ、気を取り直して。 その症状とは 1) Localizable.stringを書き換えているのに、それがNSLocalizedString()呼び出し結果に反映されず、昔の内容がゾンビの様によみがえっている 2) Localizable.stringに書いているのに、それがNSLocalizedString()呼び出し結果に反映されず、第1匹数の文字列が戻ってくる 2)はよくありますが、原因と対策が他とは異なっています。 まず、1) 1)が発生した原因、いきさつ 1)の症状が発生した原因は、多分、プロジェクトのフォルダごとコピーして他に作ったのだけど、 その後何かが混乱して、2つのプロジェクトがごっちゃになっていた、ことの様です。 具体的には、XCodeの左のナビゲーションエリアのFrameworksの中に、*.frameworkのファイルの他に何と前のプロジェクトのソースのフォルダがある!どうして起きたのか分からないけど、とりあえずこれを消しました。この後からおかしくなったのでこれが原因。というかなぜこうなったのかは不明。 1)の対策 どこを探しても昔のLocalizable.stringファイルが見つからない。XCode再起動、ProductのCleanやってもだめで、やったのは、下記を消すということ。消したフォルダは開発中のアプリ名を含んでいます。 (HOME)/(ライブラリ)/ApplicationSupport/iPhone Simulator/(OS名)/Applications/(呪文のフォルダのどれか) これで、昔のLocalizable.stringファイルの記述がゾンビの様によみがえることは無くなりました。 。。。しかし、この後、上記2)の症状が発生してしまった。 で、2)の対策。(やや自信なし) XCodeの左のナビゲーションエリアのLocalizable.string(BaseとかJapanese)を選択。 ファイルインスペクタを表示。(右にある) Target Membershipをみると、どれにもチェックが入っていないはずなので、アプリ名と、(アプリ名)Testsの2つにチェックを入れる。 これで今のところOKです。そもそも1)の対策はもう少し適切なファイルのみ消すべきだったのかもしれないけど、どれを消せば良いか分からない。これで、この後、アップルの審査通るところまでたどり着くのかやや不安ですが、このまま進めてみます。 そもそもは、プロジェクトのフォルダのコピーって面倒が起きがちですね。この段階から要注意です。 |
- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- Macintosh