2

我有一个相当大而复杂的项目,其中包含多个故事板,全部以 2 种语言本地化。我有 4 个故事板 - 主 iPhone、主 iPad 和另外 2 个用于单独功能的故事板。

这是我遇到的问题..

这些故事板中有 2 个在项目中重复。当我设法以某种方式在运行时运行时,会选择其中一个故事板。当我编辑故事板时,我将不得不在两个文件中进行编辑。

复制 1

复制 1

复制 2

复制 2

另一个问题是我在项目的目录中一团糟。我有 2 个本地化版本的资源副本。因此,有 2 个 it.proj 文件夹,一个在项目的根文件夹中,一个在源文件夹中。

项目根目录下的 it.proj 文件夹 项目根目录下的 it.proj 文件夹

源代码文件夹 AgentAssist 中的情节提要

源代码文件夹中的故事板

更多本地化资源

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

这些引起的问题是不寻常的..有时只是运行良好,有时我会遇到不同的错误。一个是

编译失败。无法写入路径:/User.....Underlying Err 描述:文件“CMAStoryboard_iPad.storyboardc”无法保存在文件夹“Base.lproj”中,因为已经有同名文件失败原因:文件名称为“CMAStoryboard_iPad.storyboardc”已经恢复建议:要保存文件,请提供不同的名称,或者移到一边或删除现有文件,然后 tr 底层描述:操作无法完成。失败原因:说明:“CMAStoryboard_iPad.storyboardc”无法删除,因为您没有 ac 权限失败原因:您没有每个恢复建议:要查看或更改权限,请在 Finder 中选择该项目并选择文件 > G 底层证券描述:操作无法完成。Directo失败原因:Directo....

另一个替代错误是 Copy .strings 文件错误。错误:删除失败...../Xcode/DerivedData/AgentAssist-bgxpswehldjaxchamdipxdcfafbf/Build/Products/Debug-iphoneos/AgentAssist.app/it.lproj/CMAStoryboard.strings:“CMAStoryboard.strings”无法删除。

然后有时在清理,删除派生数据文件夹甚至什么都不做之后,它就运行了。

非常感谢您的帮助,因为我无法解决此问题,也无法继续使用该项目。

谢谢

4

1 回答 1

1

对于每个故事板文件名(或者实际上是 Xcode 中的任何资源),您应该只有一个具有该文件名的源文档。具有相同名称的资源都映射到同一个输出文件,并且您会看到这种未定义行为的结果以各种方式解决。

所以如果你有这个:

ProjectRoot/Base.lproj/MyStoryboard.storybaord ProjectRoot/Folder/Folder/Base.lproj/MyStoryboard.storybaord

然后这两个文档都映射到同一个输出文件。

您需要删除 ProjectRoot/Base.lproj 中的一个或 ProjectRoot/Folder/Folder/Base.lproj 中的一个,但不要保留这两个文档。

于 2013-06-18T23:48:14.803 回答