重命名xcode 4项目和实际文件夹

txu3uszq  于 2023-03-19  发布在  其他
关注(0)|答案(9)|浏览(174)

我知道如何在Xcode 4中重命名项目,但如何重命名源文件夹呢?问题是,在Xcode中重命名项目,只会在Xcode中重命名(虽然与以前相比,这是一个进步)-但为什么Xcode不重命名文件系统中的文件夹,我不知道。

qq24tv8q

qq24tv8q1#

您可以在Xcode中执行此操作,而无需在文本编辑器中手动编辑pbxproj文件!
具体方法如下:
1.在Finder中重命名源文件夹。这会在一开始破坏项目,因为Xcode不会自动检测虚拟(黄色)项目文件夹所指向的真实的文件夹何时发生更改,因此该文件夹中的所有文件在Xcode中将变为红色。不要担心,我们将在步骤3中修复它。
1.在Xcode中,点击左侧边栏中的虚拟文件夹(现在坏了),并将其重命名为Finder中的名称(实际上你可以随意命名它,或者根本不重命名它,但这将是疯狂的)。
1.在Xcode的右侧边栏中,点击下面截图中的图标,打开一个文件对话框,选择你之前重命名的文件夹,这将重新关联虚拟文件夹和磁盘上的真实的文件夹,并自动修复其中所有文件的链接。
1.在生成设置中,搜索旧文件夹名称并手动重命名找到的任何匹配项。通常有两个文件夹,oldfolder/prefix.pch和oldfolder/info.plist,但也可能有其他文件夹。
好了!

编辑:这个选项在Xcode 5中仍然存在,但默认情况下隐藏了。要显示它,请单击“文本设置”面板上方检查器中的“身份和类型”标题将其展开。

0x6upsns

0x6upsns2#

我做过很多次了:

  • 在Xcode项目导航器中单击并编辑标题,以重命名项目。
  • 关闭Xcode。
  • 重命名源文件夹。
  • 在Finder中,使用任何文本编辑器打开项目包(上下文菜单“Show Package Contents”)中的.pbxproj文件。
    *搜索并用新文件夹名替换任何出现的原始文件夹名。
  • 保存文件。
  • 打开Xcode项目。
gopyfrb3

gopyfrb33#

任务:在Xcode和Finder中将“Play”重命名为“Play 2”
更改此内容:

对此:

步骤:

//首先,请在Finder中备份项目!

  • 在Xcode项目导航器中重命名项目//单击项目名称,然后按Enter键
  • 在Xcode项目导航器中重命名组//不影响Finder中的文件夹名称
  • 关闭Xcode
  • 在Finder中重命名外部文件夹(图像左列)

//以上所有步骤都很简单,没有副作用////现在是棘手的部分:在Finder中重命名内部文件夹(图片中的中间列)(与.xcodeproj处于同一级别)

  • 在Finder中重命名内部文件夹,同时保持Xcode关闭
  • 右键单击.xcodeproj,选择“显示包内容”
  • 使用Mac文本编辑打开.pbxproj文件
  • 搜索并将所有“播放”替换为“播放2”。为保证一切正常,请单击搜索栏左端的箭头并修改搜索属性。将“包含”更改为“全字搜索”,并取消选中“忽略大小写”
  • 保存.pbxproj文件
  • 打开Xcode项目并运行
ryevplcw

ryevplcw4#

下面是如何在XCode 4中有效地重命名项目(包括文件夹):
1.在XCode中完全关闭所有打开的项目以防止出现任何问题
1.将相关项目复制到新文件夹(重要信息:保留旧项目的备份)
1.打开项目
1.在XCode 4中重命名项目本身(双击项目名称),更改名称并按照步骤操作(所有操作都是yes)
1.进入产品,管理方案,重命名方案(双击方案名称)
1.关闭项目(确保已完全关闭,否则后续步骤将无法执行)
1.在Finder中,转到Project文件夹,右键单击.xcodeproj文件,然后选择“显示包内容”选项
1.然后右键单击.pbxproj文件并使用TextEdit打开它
1.替换所有出现的项目所在的文件夹名称(将旧项目名称替换为新项目名称)
1.保存文件
1.再次打开项目并构建它!

bq8i3lrv

bq8i3lrv5#

在替换 *.pbxproj文件中的值时,您需要注意另一个问题。如果您的旧文件夹名称是FooBar,则在 *.pbxproj文件中会有一个如下所示的条目:
路径=脚踏板
假设您的新文件夹名称为Foo Bar,也就是说,您要引入一个空格,那么,该行应该变为
path =“脚踏杆”
如果你只是简单的查找和替换,结果会是一个Xcode无法解析的 *.pbxproj文件,如果你的新文件夹名称有一个空格,而旧文件夹名称没有空格,请确保包含双引号。

y4ekin9u

y4ekin9u6#

在检查了上面的各种答案并亲自尝试之后,我总结了一下。让我们假设当前的项目名称是ProjAbc,并且您希望将其重命名为ProjDef:
1.退出该项目的Xcode。
1.在Finder中,复制文件夹ABOVE ProjAbc.xcodeproj以进行备份。
1.在Finder中,如果你觉得需要它来适应新的项目名称,可以自由地重命名文件夹ABOVE ProjAbc.xcodeproj。
1.在Finder中,将与ProjAbc.xcodeproj并行的源文件文件夹从ProjAbc重命名为ProjDef
1.打开Xcode for ProjAbc.xcodeproj(在项目导航器中,虚拟源文件夹ProjAbc中的所有文件都将显示为红色)。
1.在Xcode中,点击左侧边栏中项目导航器中的虚拟文件夹(现在已损坏),并将其重命名为Finder - ProjDef中的名称,这还不能修复文件夹中的红色文件,但没关系。
1.在Xcode中,(仍然选择左侧边栏中的虚拟文件夹)在右侧边栏的文件检查器中,单击下面屏幕截图中显示的图标以打开文件对话框。在文件对话框中,选择您之前重命名的文件夹这将使虚拟文件夹与磁盘上的真实的文件夹重新关联,并将自动修复指向. x1c 0d1x中所有文件的链接

  • 在Xcode的项目导航器中,单击ProjAbc项目名称,并将其重命名为ProjDef。
  • 系统将提示您:是否重命名项目内容项?单击“重命名”按钮。
  • 系统将提示您:“您想让Xcode在项目重命名和类似操作之前自动拍摄快照吗?"。单击“禁用”或“启用”。没有关系。
  • 在Xcode中,现在打开ProjDef目标内的“构建设置”(在项目导航器中的项目ProjDef内)。重命名 *-Info.plist和 *-Prefix.pch文件的文件夹名和文件名,以包含ProjDef而不是ProjAbc。
  • 在Xcode、项目导航器、ProjDef虚拟源文件夹的“支持文件”中,也要再次重命名 *-Info.plist和 *-Prefix.pch文件,使其包含ProjDef而不是ProjAbc
  • 在Xcode菜单中,按产品/方案/管理方案...(或在Xcode左上方方案栏中点击“ProjAbc”〉方案名称,然后按“管理方案...”),在对话框中将方案名称由ProjAbc重命名为ProjDef,然后按“确定”按钮,如果项目名称是由单个单词组成的,您现在就可以运行了!
  • 在Xcode中,编辑Supporting Files/*-Prefix.pch文件中的顶部注解行,并将ProjAbc替换为ProjDef(2次)。
  • 退出Xcode。
  • 在Finder中,指向ProjDef.xcodeproj并在文本编辑器中打开它。(在www.example.com中打开它TextWrangler.app,或者单击鼠标右键并在弹出菜单中按“显示包内容”,然后在www.example.com中编辑文件project.pbxprojTextEdit.app)
  • 在文本编辑器中,搜索“ProjAbc”(全字匹配,区分大小写),它应该出现一次(在段落:/* 开始PBXNativeTarget部分 */的行:产品名称=项目Abc;)并将其替换为“ProjDef”。实际上,项目无论如何都可以运行!,所以这一步是可选的。
  • 如果项目名称由2个或多个单独的单词组成,如“ProjDef Geh”,则必须执行以下步骤:搜索对虚拟源文件文件夹的Finder文件夹的引用-
  • 搜索行:路径=项目定义Geh;
  • 它将在段落/* ProjDef Geh */中出现一次
  • 将其改为:路径=“项目定义Geh”;
  • 从文本编辑器保存,然后退出文本编辑器。
  • 就这样,如上所述,如果项目名称是由单个单词组成的,您可以直接运行到步骤11的末尾。
k2fxgqgv

k2fxgqgv7#

首先-不要重命名Xcode项目!!!
如果你必须这样做,下面的可能是它-我从来没有得到它的工作,结束了创建一个新的项目,并开始在现有的文件复制所有。Xcode是如此啊...它有这么多的非生产性的东西,比如也尝试重命名一个文件从“名称”到“名称”。好吧,我们玩得开心。
我找到了答案或如何解决这个问题:右键单击“Show Package Content”打开pbxproj文件,在其中编辑一个项目.pbxproj文件-您必须重命名一个名为path的引用和一些其他内容-只需搜索添加了“/"的文件夹名称。
就这样。希望能帮上忙。

t3psigkw

t3psigkw8#

我发现上面的答案真的很有用,尤其是尼克·洛克伍德的答案。
我刚刚在Xcode 8中重命名了几个文件夹,遇到了另外两个问题:A)“工作副本丢失错误”B)核心数据崩溃
如何解决这两个问题:
A)“工作副本中缺失错误
我发现下面的答案非常有用:Swift 3 / Xcode 8 Upgrade - 100's of DerivedData files missing from working copy errors
基本上Xcode 8有严格的源代码控制,这可能会导致上述错误。
1.清理Xcode衍生数据。
1.转到“源代码管理”并单击“刷新状态”。
1.转到源代码管理并单击“提交”;在提交时选择提交菜单左边栏中的所有文件(右键单击-〉全选)。
1.您可能会得到一个错误。
1.关闭“提交”菜单。
1.刷新状态。
1.退出Xcode以关闭项目。
1.重新打开项目,刷新状态,再次提交。
1.这次提交应该会起作用。
1.单击项目-〉清理。
我假设你已经启用了源代码管理,如果你还没有,或者如果你在我的指导下卡住了,只要按照链接中提供的更详细的指导。
B)核心数据崩溃
重命名文件夹有时会搞砸核心数据。有几个可能的原因,为什么会这样,下面是一些修复我可以建议:
1.不正确的
AppDelegate
模型名称。在我的情况下就是这种情况。转到您的AppDelegate并查找let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")。确保名称正确。
在未来(在这篇文章发表几年后,当苹果再次修改核心数据时),或者如果你使用的是旧版本的核心数据,仔细看看AppDelegate。那里可能有一些奇怪的东西正在扰乱你的核心数据。
1.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
1.如果以上两种方法都不起作用,请尝试1)删除实体,然后添加另一个相同的实体,或者2)删除xcdatamodeld,然后添加另一个相同的数据模型(并确保新xcdatamodeld的名称与AppDelegate和其余代码中的名称相匹配)。永远不要对实时应用程序执行此操作-或者,如果您执行此操作,确保在执行此操作时正确迁移核心数据。

tv6aics1

tv6aics19#

如果你有旧的引用源项目到你的项目,当复制项目(每一个变化都影响到两个项目)在这里的解决方案

  • 从源项目复制项目
  • 重命名中断引用问题的源项目的源文件夹。
  • 在dublicate proejct一切都变红选择您当前的项目文件夹。(屏幕截图是显示在绿色勾答案stackoverflow)

========================================================================

相关问题