每个构建目标本地化InfoPlist.strings

时间:2014-10-27 01:43:57

标签: xcode localizable.strings

我正在从同一个Xcode项目中创建两个独立的应用程序,他们需要略微不同的措辞来表示各自的位置使用说明。

从本质上讲,我希望为每个构建目标都有单独的InfoPlist.strings文件,但似乎我不能简单地创建InfoPlist-A.stringsInfoPlist-B.strings并检查它们只属于适当的目标。 (目标B似乎根本没有找到它的字符串文件,因此在没有使用说明的情况下禁用所有位置服务。)

我还想对这些描述进行本地化,因此仅仅在目标各自的Info.plist文件中对它们进行不同的说法是不够的。

有没有办法告诉Xcode“这里是你应该看看这个目标的字符串文件”还是只是基于固定文件名的不透明魔法?

2 个答案:

答案 0 :(得分:0)

如果仅计划为项目使用一个应用程序名称,则建议将文件与Localizable.strings文件放在同一目录中。但是,如果您有多个目标,并且其中一些目标使用不同的应用程序名称,则将需要为InfoPlist.strings文件创建一个单独的目录。然后,您需要为每个应用程序名称创建一个单独的InfoPlist.strings文件,并将其与正确的目标相关联。 (https://kitefaster.com/2016/06/29/how-to-localize-an-apps-name-with-infoplist-strings/

我的项目: Two InfoPlist.strings files in different directory and belong to different targets

答案 1 :(得分:0)

我设法通过共享通信 localizable.strings 文件并为每个目标使用单独的 InfoPlist.Strings 来做到这一点。
几个步骤:

  1. 从它所在的目录中删除 InfoPlist.Strings(通常在您的 zh-Hans.lproj, en.lproj,... 目录中),将 Localizable.strings 文件保留在它们所在的位置,并将其分配给您希望分配的所有目标。
  2. 在您创建的新目录中创建一个新的 InfoPlist.Strings 文件,并根据需要将其分配给目标
  3. 在另一个新目录中创建另一个 InfoPlist.Strings 文件并将其分配给新目标。