我有一个包含多个故事板的大型复杂项目,全部以2种语言本地化。我有4个故事板 - 主要的iPhone,主iPad和另外2个单独的功能。
以下是我遇到的问题..
这些故事板中有2个在项目中重复。当我设法运行时,不知何故在运行时,选择其中一个故事板。当我编辑故事板时,我将不得不在两个文件中进行编辑。
复制1
复制2
另一个问题是我在项目目录中乱七八糟。我有2份资源的本地化版本..因此有2个it.proj文件夹,一个在项目的根文件夹中,一个在源文件夹中。
项目根目录下的it.proj文件夹
源代码文件夹AgentAssist中的故事板
更多本地化资源
这些引起的问题是不寻常的..有时候运行正常,有时我会得到不同的错误。一个是
编译失败。无法写入路径:/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”。
然后有时候在清理之后,删除派生数据文件夹,甚至没有做任何事情,它只是运行。
我将非常感谢您的帮助,因为我无法解决此问题而且我无法继续使用该项目。
谢谢
答案 0 :(得分:1)
对于每个故事板文件名(或Xcode中的任何资源),您应该只有一个具有该文件名的源文档。具有相同名称的资源都映射到同一输出文件,并且您将看到此未定义行为的结果以各种方式解析。
所以如果你有这个:
ProjectRoot / Base.lproj / MyStoryboard.storybaord ProjectRoot /文件夹/文件夹/ Base.lproj / MyStoryboard.storybaord
然后这两个文档都映射到同一个输出文件。
您需要删除ProjectRoot / Base.lproj中的那个或ProjectRoot / Folder / Folder / Base.lproj中的那个,但不要保留这两个文档。