如何在XCode 4中将分组(本地化)文件的位置从绝对路径更改为相对路径?

时间:2011-08-11 09:41:27

标签: xcode4 relative-path filepath absolute-path

我遇到了在XCode 4中使所有文件位置路径相对的问题。

我有多个infoPlist.strings和CustomLocalizable.strings(针对不同的语言)组合在一起(XCode会自动执行此操作)。查看这些文件的文件检查器(查看>>实用程序>>显示文件检查器)(默认语言的英语除外)时,位置为“绝对路径”。

问题是文件检查器中这些文件的“位置”下拉菜单 显示为灰色,已禁用。 这使我无法从绝对文件位置更改文件位置相对路径描述的路径。

如何使组中文件的所有路径位置相对?

我已经尝试将文件组的路径位置更改为,例如,“相对于组”或“相对于项目”。对于组我也设置了相对路径,点击文件检查器中的位置下拉列表中的小图标。

我一直在寻找一段时间的解决方案,并感谢有人能帮助我回答上述问题。

谢谢!

3 个答案:

答案 0 :(得分:8)

根据您的回复,我在评论中的回答似乎有效。所以这是官方的答案:

  1. 选择组中的一个本地化文件(例如infoPlist.strings,CustomLocalizable.strings):单击项目树中的文件

  2. 在文件检查器的本地化窗格中,使用“ - ”按钮删除文件具有绝对路径的所有语言。

  3. 使用'+'>>再次添加语言'全部添加'或特定语言。分组和本地化的文件将再次显示在树中。在文件检查器中,您将看到位置已更改为“相对于组”

答案 1 :(得分:2)

谢谢,答案在Xcode 4.2中为我提供的问题中作为评论提供。这绝对是Apple的一个错误,将所有本地化文件条目设置为绝对路径。

另一个选项...在您的project.pbxproj中搜索您的字符串文件并查找绝对路径。您可以在文本编辑器中编辑条目,如下所示:

9E0D4EC0148727D300456F82 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };

如果有人拥有大量文件,并且这样做的UI方法太慢,请尝试一下!

答案 2 :(得分:0)

您可以更改文件的路径而不删除它并重新添加它:

  1. Project Navigator中,找到丢失的文件(未找到红色)并突出显示其中一个。
  2. 显示File Inspector
  3. Location下更改Absolute PathRelative to groupRelative to project
  4. 然后在路径旁边,有一个小白色图标,单击它并选择文件的位置。