重复的Storyboard文件出现在Xcode项目目录中。几乎无法运行项目

时间:2013-06-18 07:51:51

标签: iphone ios ipad uistoryboard localizable.strings

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

以下是我遇到的问题..

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

复制1

Copy 1

复制2

Copy 2

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

项目根目录下的it.proj文件夹 it.proj folder inside the root directory of the project

源代码文件夹AgentAssist中的故事板

storyboards inside the source code folder

更多本地化资源

enter image description here

enter image description here

enter image description here

这些引起的问题是不寻常的..有时候运行正常,有时我会得到不同的错误。一个是

编译失败。无法写入路径:/User.....Underlying Err说明:文件“CMAStoryboard_iPad.storyboardc”无法保存在“Base.lproj”文件夹中,因为已经存在同名文件失败原因:A文件名称为“CMAStoryboard_iPad.storyboardc”已经恢复建议:要保存文件,要么提供不同的名称,要么移开或删除现有文件,以及tr底层描述:操作无法完成。失败原因:说明:无法删除“CMAStoryboard_iPad.storyboardc”,因为您没有权限进行交互失败原因:您没有恢复建议:要查看或更改权限,请在Finder中选择项目并选择文件> G基础描述:操作无法完成。 Directo失败原因:Directo ....

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

然后有时候在清理之后,删除派生数据文件夹,甚至没有做任何事情,它只是运行。

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

所以如果你有这个:

ProjectRoot / Base.lproj / MyStoryboard.storybaord ProjectRoot /文件夹/文件夹/ Base.lproj / MyStoryboard.storybaord

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

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