美文网首页iOSios开发小技巧iOS开发
iOS 在 Xcode 中重命名项目名称

iOS 在 Xcode 中重命名项目名称

作者: liuwin7 | 来源:发表于2015-07-24 14:54 被阅读19099次

    本教程使用的 Xcode 版本是Xcode 6.3.1,网上有好多的教程,都是在 Xcode 4 上做的讲解,现以本文章讲解一下如何在 Xcode 6.3.1 中重命名你的项目名称,包括你的应用名称。

    0、写在前

    Xcode,作为开发 iOS App 的 IDE,对于大多数开发人员而言非常熟悉。但是,如何给一个已有的项目重命名呢?相信并不是所有的开发人员都会知晓,这些有时也是合理的需求,看到一个不错的开源项目,如何更改项目名称呢?还有,如果项目在版本迭代过程中需要更改整个工程的名称,又怎么办呢?重命名!

    下面就跟着我,一起为一个已有的项目重命名吧!

    1、准备

    PS:不要在你现在的工程中,做下面的操作。所以我们需要准备一个新的工程取名为 RenameDemo,一会儿,我们会将其改为 NewNameDemo,好了,话不多说,开始我们的教程,创建一个工程取名 RenameDemo。

    创建新工程

    取什么名无所谓,随你个人的喜好,接下来,我们重命名它吧!

    2、让 Xcode 为我们做点什么

    Xcode 其实可以为我们做很多的东西,给我们的Project、target更改名称这个是它做的最主要的功能。

    打开 Xcode 的 File Inspector,也就是 Xcode 中最右侧的一栏。

    更改项目名称

    图中标红的地方,就是们需要更改的地方

    现在我们将其改为我们之前说好的新的工程的名称NewNameDemo。在 Identity and Type 中的 Name 中,我们输入NewNameDemo ,然后敲回车,你就会看到如下的界面。

    修改名称为NewNameDemo

    这里,Xcode 列举出了可以为我们做的更改两个 target 的名称,这个更改,其实也是为我们的 App 变名称了,如果你没有自己设定 App 的名称的话,咱们之前的 App 应该是 RenameDemo ,现在如果,重命名成功的话,就会变成 NewNameDemo 。

    点击 Rename,让 Xcode 为我们重命名一部分。此时,会提示你需不需要 Xcode 为你做 snapshot,我们这里选择 Enable ,这个是一个 Xcode 功能,我们也可以在 File > Project Settings 中关掉它。

    开启自动snapshot

    点击 Enable 之后,Xcode 6.3.1跟低版本 Xcode 不同的是项目,这个项目不能再继续运行调试了。最顶部会变成下面的样子。

    修改之后的变化

    处理这个问题很简单,关闭工程,让后重新打开!在重新打开之前,为了重命名的完整性,我决定在 Finder 中把相关的文件夹也重命名。

    在Finder中重命名实体文件夹

    Xcode为我们做的其实就是把它自己的工程文件重命名了,并且修改了里面的配置信息。我们需要做的是更改剩余的工程信息,在这里,只需要更改文件夹就好了,不用更改其他,因为其他的我们可以在打开 Xcode 之后再改。

    修改工程目录为NewNameDemo

    修改源文件目录NewNameDemo

    修改测试文件目录NewNameDemoTests

    修改之后是这个样子

    在Finder中修改实体文件夹之后

    3、重新打开该工程

    会有如下的提示

    重新打开项目工程

    有几处变化使我们所能看到的

    a)工程又可以运行了,变为了我们所熟悉的工程。

    b)有很多标红的文件

    c)提示我们找不到 Image.xcassets 文件

    对于c),简单的 OK 就可以了。

    如果你观察细致的话,还有一个地方就是,项目的 info.plist 文件找不到了。

    4、给 group 找真正的实体文件夹

    选中 RenameDemo 这个 group ,再查看右侧的 Inspector ,发下这个 group 是一个相对的位置,我们只有修改它的关联就好了。

    group管理实体文件夹

    看右侧标红的地方,点击一下,就会让你去选择这个文件的真实位置。

    我们找到真实的位置如下:

    给 group 添加实体文件目录

    选择标红的文件夹,点击 Choose ,你会发现,之前变红的文件,都变成了实体文件

    添加实体文件之后的变化

    同理的,我们为 test 源文件目录也添加上。

    添加好之后,你就会看到如下的界面

    为 test group 添加实体文件夹

    5、为我们的工程找到 info.plist 文件

    点击 Choose info.plist File

    选择 info.plist 文件

    点击 Choose 就成功添加了,需要有一个地方需要改变的就是在 App Icons and Launch Images 中的 Launch Images Source 选择 Use Asset Catalog

    合并 App Icons

    点击 Migrate 合并 App 需要的 Icons。


    6、为你的 Test Target 选择 info.plist

    选择 NewNameDemoTests target,并选择 Build Settings 标签,搜索一下plist,你就会看到如下的界面

    查找 test target 的 info.plist 文件

    修改2位置的内容为 NewNameDemoTests/Info.plist

    7、为你的Test Target 选择 Host Application

    更改了 plist 文件,还需要设置一下 test 的 Host Application。

    在NewNameDemoTests 的General 标签选择 Host Application

    选择 Host Application

    8、编译

    现在,你可以编译你的工程了,如果按照步骤来的话,应该是可以编译成功的。

    9、如果,你有小小的代码洁癖那就更改一下 group 名称吧

    把源文件分组名称和 test 源文件分组名称改成NewNameDemo和NewNameDemoTests

    还有,你还可改一下系统默认给你创建的一个 test 文件。

    Rename Class

    10、再次编译一下,你成功了吗?!

    总结:

    这个只是原始工程的重命名,如果你是一个复杂项目的重命名,请一定做好备份。遇到问题,查看是哪部分有问题,改一下,就可以了。

    相关文章

      网友评论

      • Struggleyo_88cf:我想请问下,如何把一个项目中targets 移动到另一个项目中?
      • feng_dev:使用了cocoapods 的workspace 如何修改?还有那个entitlements 那个文件 如何修改?求教。
      • 3e8eb14bdf82:最后在选择运行平台处(挨着停止按钮),还是RenameDemo,没有变成NewNameDemo,这部分的显示是在哪里控制的呢,当然到这里项目的名字已经改了
        3e8eb14bdf82:最后的截图中,这个地方没有改 https://postimg.org/image/a0w5pwsa9/
        liuwin7:那是scheme,什么叫运行平台,不是专门有说scheme的修改吗
        3e8eb14bdf82:点击后出现下拉列表,选中new scheme,就会有新项目的Scheme了,然后在manage scheme中把旧的删掉,就彻底完成了
      • 神龍大俠:那么折腾 还不如新建个工程呢 容错率太低了 毕竟工作效率优先 尽量避免折腾这些个玩意儿 一般项目定好名字也不会改了 很少遇到这种情况
        HeminWon:@尚雷勋 是的 神烦
        14b3a6ac00ba:你是没有接手过别人写的从别的有些相干的项目直接拉过来修修补补的新项目……
      • 陌言丶:有问题 呀!我用cocoapods导入的第三方库,找不到了!!
        还有,作者的那个Scheme的工程名字并没有改变啊
      • 烈霸南绝:Xcode运行的按钮右侧显示的项目不能改吗??
        liuwin7:@OCAndSwift 可以,改一下schema 就可以了
      • 34码的小孩子:有个问题想要请教一下,更名了文件夹之后会提示第三方的控件找不到framework, 然后我就去heaser search path 那里修改了path。但修改了path之后,就出现了一大堆关于arc的问题……请问怎么样才是正确的打开方式?
        liuwin7:@34码的小孩子 恩,了解了你的操作。出现这种情况可能也是正常的。你可以回忆一下,在改名字之前,这些文件是不是引入的时候,就已经被标记了ARC,在Build Phases里面。如果是这样的话,就很有可能了,因为之前的路径已经损坏,Xcode检索不到当前文件的编译标识(Compiler Flags),就会提示你。
        还有,我想问一下,你所说的ARC的问题,是什么问题?
        34码的小孩子:@liuwin7 引入是正确的。程序更名的时候因为不会自动修改文件夹的名称,所以,路径也不会进行修改。如果我们要修改文件夹的名称,那些路径也要手动修改,不然就会找不到文件了。只是我不知道为何修改了路径之后,会出现arc的问题。毕竟之前是没有这方面的问题的。
        liuwin7:@34码的小孩子 不知道你什么样的工程配置,如果只是该文件夹的名字,并且正确的引入,应该就不会有问题。
      • 十一岁的加重:很用心地写文章
        liuwin7:@十一岁的加重 谢谢
      • d60af57e2e80:改了名字不能调试的原因是没有设置可执行程序,edit schema里设置就行
        liuwin7:@风中的茄子 没懂你是什么意思
        c2ebf0bf7565:@RedArcplum 没懂啥意思啊?我重命名以后build成功,但是没有后续动作,没安装到手机上,没有任何反应,也不报错 :sob:
      • 哼哈猿:感謝分享!

      本文标题:iOS 在 Xcode 中重命名项目名称

      本文链接:https://www.haomeiwen.com/subject/xfqmqttx.html