我知道如何在Xcode 4中重命名项目,但是如何重命名源文件夹?问题是在Xcode中重命名项目,只在Xcode中重命名(虽然它与之前的进展相比) - 但为什么Xcode没有重命名我不知道的文件系统中的文件夹。
答案 0 :(得分:259)
您可以在Xcode中执行此操作,而无需在文本编辑器中手动编辑pbxproj文件!
以下是:
在Finder中重命名源文件夹。这将最初破坏项目,因为Xcode不会自动检测虚拟(黄色)项目文件夹指向的实际文件夹何时更改,因此该文件夹中的所有文件将在Xcode中变为红色。不要担心,我们将在第3步修复它。
在Xcode中,单击左侧边栏中的(现已损坏的)虚拟文件夹,并将其重命名为与Finder中的名称相匹配(您实际上可以将其命名为任意内容,或者根本不重命名) ,但那会很疯狂)。这不会修复文件夹中的红色文件,但没关系。
在Xcode的右侧边栏中,单击下面屏幕截图中显示的图标以显示文件对话框。选择您之前重命名的文件夹。这会将虚拟文件夹与磁盘上的真实文件夹重新关联,并自动修复指向其中所有文件的链接。
在构建设置中,搜索旧文件夹名称并手动重命名找到的所有匹配项。通常会有两个,oldfolder / prefix.pch和oldfolder / info.plist,但可能还有其他。
全部完成!
编辑:此选项仍在Xcode 5中,但默认情况下有助于隐藏。要显示它,请在“文本设置”面板上方的检查器中单击精简的“标识和类型”标题以展开它。
答案 1 :(得分:112)
我做过几十次:
.pbxproj
文件(上下文菜单“显示包内容”)。 答案 2 :(得分:12)
任务: 在Xcode和Finder中将“Play”重命名为“Play2”
改变这个:
对此:
<强>步骤进行:强>
//在此之前,请在Finder中备份项目!
//以上所有步骤都是直接的,没有副作用 // //现在来了一个棘手的部分:重命名Finder中的内部文件夹(图像中间的列)(与.xcodeproj在同一级别的那个)
答案 3 :(得分:4)
以下是如何在XCode4中有效地重命名项目(包括文件夹):
答案 4 :(得分:2)
首先 - 不要重命名Xcode项目!!!
如果必须的话,下面可能是它 - 我从来没有让它工作,最终创建了一个新项目并开始在现有文件中进行复制。 Xcode是如此啊....它有很多非生产性的东西,比如尝试将文件从“Name”重命名为“name”。好吧,好好玩。
我找到了答案或如何解决这个问题:通过右键单击“显示包内容”打开pbxproj文件,然后编辑project.pbxproj文件 - 您必须重命名名为path的引用和其他一些东西 - 只需搜索添加的文件夹名称“/".
就是这样。 希望它有所帮助。
答案 5 :(得分:2)
在替换* .pbxproj文件中的值时,您应该注意另一个问题。如果您的旧文件夹名称是FooBar,则* .pbxproj文件中的条目如下所示:
path = FooBar
假设您的新文件夹名称为Foo Bar。也就是说,你正在引入一个空间。然后,这一行应该成为
path =“Foo Bar”
如果您只是进行简单的查找和替换,结果将是Xcode无法解析的* .pbxproj文件。如果您的新文件夹名称有空格且旧名称没有空格,请务必包含双引号。
答案 6 :(得分:2)
在我检查了上面的各种答案并尝试自己之后,我正在为自己总结。 假设当前项目名称是ProjAbc,并且您想将其重命名为ProjDef:
退出该项目的Xcode。
在Finder中,复制文件夹ABOVE ProjAbc.xcodeproj进行备份。
在Finder中,如果您觉得需要它来适应新的项目名称,请自由重命名文件夹ABOVE ProjAbc.xcodeproj。
在Finder中,将ProjAbc.xcodeproj中的源文件文件夹从ProjAbc重命名为ProjDef
为ProjAbc.xcodeproj打开Xcode(在Project Navigator中,虚拟源文件夹ProjAbc中的所有文件都是红色的)。
在Xcode中,单击左侧边栏中Project Navigator中的(现已损坏的)虚拟文件夹,并将其重命名为与Finder - ProjDef中的名称相匹配。这还不能修复文件夹中的红色文件,但没关系。
在Xcode中,(仍然在左侧边栏中选择虚拟文件夹),在文件检查器中,单击下面屏幕截图中显示的图标以打开文件对话框。在文件对话框中,选择以前重命名的文件夹(ProjDef)。这会将虚拟文件夹与磁盘上的真实文件夹重新关联,并自动修复指向其中所有文件的链接。
在Xcode中,在Project Navigator中,单击ProjAbc项目名称,并将其重命名为ProjDef。
在Xcode中,现在打开ProjDef目标内的“Build Settings”(Project Navigator中的项目ProjDef)。重命名* -Info.plist和* -Prefix.pch文件的foldername和filename以包含ProjDef而不是ProjAbc。
在Xcode的Project Navigator中,在ProjDef虚拟源文件夹的“支持文件”中,同时重命名* -Info.plist和* -Prefix.pch文件以包含ProjDef而不是ProjAbc
在Xcode菜单中,按产品/方案/管理方案...(或点击Xcode左上方的方案栏中的“ProjAbc”&gt;方案名称,然后按“管理方案...”)和在对话框中重命名Scheme从ProjAbc到ProjDef,然后按“确定”按钮。如果项目名称由单个单词组成,您可以立即运行它!
在Xcode中,编辑Supporting Files / * - Prefix.pch文件中的顶部注释行,并用ProjDef替换ProjAbc(2次)。当然,更正此评论是可选的。
退出Xcode。
在Finder中,指向ProjDef.xcodeproj并在文本编辑器中打开它。 (在TextWrangler.app中打开它,或者鼠标右键单击并在弹出菜单中按“显示包内容”,然后在TextEdit.app中编辑文件project.pbxproj)
在文本编辑器中,搜索应出现一次的“ProjAbc”(整个单词,匹配大小写)(在段落中:/ *开始PBXNativeTarget部分* /在行中:productName = ProjAbc;)并将其替换为“ ProjDef”。实际上,项目无论如何都可以运行!所以这一步是可选的。
如果项目名称由两个或多个单独的单词组成,例如“ProjDef Geh”,则必须执行下一步:搜索对虚拟源文件文件夹的Finder文件夹的引用 -
从文本编辑器中保存,然后退出文本编辑器。
就是这样。如上所述,如果项目名称由单个单词组成,则可以在步骤11结束时运行。
答案 7 :(得分:0)
我发现上述答案非常有用,特别是Nick Lockwood的答案。
我刚刚在Xcode 8中重命名了几个文件夹,还遇到了另外两个问题: A)&#34;缺少工作副本错误&#34; B)核心数据崩溃。
如何解决这两个问题:
A)&#34; 工作副本错误&#34;
我发现以下答案非常有用:Swift 3 / Xcode 8 Upgrade - 100's of DerivedData files missing from working copy errors
基本上Xcode 8具有严格的源代码控制,可能导致上述错误。你必须:
我假设您已经启用了源代码管理。如果您没有,或者如果您按照我的说明操作,请按照提供的链接中的更详细说明进行操作。
B)核心数据崩溃
重命名文件夹有时会搞砸Core Data。有几个可能的原因,为什么会这样,以下是我可以建议的一些修复:
错误的 AppDelegate 型号名称。在我的情况下就是这种情况。转到您的AppDelegate并找到let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")
。确保名称正确。
将来(此帖后几年,当Apple再次更改Core Data时)或者如果您使用的是旧版Core Data,请仔细查看AppDelegate。可能会有一些时髦的东西弄乱你的核心数据。
xcdatamodeld 中的型号名称不正确。转到Finder并在文本编辑器中打开.xcdatamodeld。
检查以下内容:
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>YOUR CORE DATA MODEL NAME.xcdatamodel</string> <-- Make sure this is correct.
</dict>
</plist>
此处提供更多详细信息:Core Data model files does not load on rename
答案 8 :(得分:0)
如果您的项目中有旧的项目参考,那么当项目出现时(每次更改都会对项目产生影响) 这里的解决方案
=============================================== =========================