在Xcode 6中重命名应用程序

时间:2014-10-04 20:46:11

标签: xcode ios8 xcode6

我有一个应用程序,我需要重命名,以便代码可以重复使用,只有轻微的变化,我遇到了困难。

我按照这个链接,它似乎覆盖了它但是当我尝试构建它时,我收到了一个链接错误,其中也是:

资源链接:

http://matthewfecher.com/app-developement/xcode-tips-the-best-way-to-change-a-project-name-in-xcode/

这是我得到的链接错误和我看到的信息

Ld /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/solfEightFiveTests.xctest/solfEightFiveTests normal arm64
    cd "/Users/jeffjanes/Xcode Projects/solfEightFive/shell"
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -L/Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos -F/Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/Developer/Library/Frameworks -filelist /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Intermediates/solfEightFive.build/Debug-iphoneos/solfEightFiveTests.build/Objects-normal/arm64/solfEightFiveTests.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -bundle_loader /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/shell.app/shell -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=8.0 -Xlinker -dependency_info -Xlinker /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Intermediates/solfEightFive.build/Debug-iphoneos/solfEightFiveTests.build/Objects-normal/arm64/solfEightFiveTests_dependency_info.dat -o /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/solfEightFiveTests.xctest/solfEightFiveTests

ld: file not found: /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/shell.app/shell
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我有什么遗失的吗?我试着清理它,这似乎没有效果。

这只是一些澄清,上面链接中描述的过程表明了以下内容:

在屏幕左上角的项目导航器窗格中双击项目名称。然后允许Xcode重命名文件

以相同的方式重命名方案

这就是我所做的一切,也许这本身就不够,所以如果有人知道正确的方法请告诉我。

6 个答案:

答案 0 :(得分:12)

我最近也遇到过这个问题。 您的XCode项目应该有两个目标。您的应用程序的一个目标是测试的另一个目标。

在测试目标的构建设置中,有一个设置名称Test Host。重命名应用目标后,此设置的值不会更新。

正确修改“测试主机”设置值,一切都应该有效。

答案 1 :(得分:4)

我通过使用文本编辑器打开MyProject.xcodeproj / project.pbxproj并手动替换错误的名称(* .app)来解决这个问题

答案 2 :(得分:2)

首先,我试图仅将其作为评论发布,但我不允许这样做。

我不太了解Xcode 6,但是因为我假设它使用的每个项目文件都是基于文本的,所以你可以在shell中尝试这样的东西,假设 MyProjectDir 是您的项目目录和 OldProjectName 是您项目的旧名称。

您应首先在Xcode中清理和关闭项目。

cd MyProjectDir
find . -type f -exec grep -i OldProjectName {} \; -ls

这将列出包含旧项目名称的行的所有文件(每个文件首先包含匹配的行,然后是“ls -l”格式的包含文件的目录条目)。这样,您至少应该知道哪些文件仍包含旧名称。也许用文本编辑器改变它就可以了。

您也可以

cd MyProjectDir
find . -iname "*OldProjectName*" -ls

列出包含旧项目名称的所有文件。然后,如果您确定它们是由Xcode生成的,您可以重命名这些文件,甚至删除它们。

当然,请务必首先制作项目的备份副本!

答案 3 :(得分:1)

我看起来是同样的问题。

我解决了它:

  1. 导航到问题目录:在您的情况下:shell.app。
  2. mv shell OLD_NAME。换句话说:将文件重命名为旧名称 你的项目。
  3. 清洁+运行

答案 4 :(得分:0)

原因是对旧应用产品的延迟引用。您需要删除Derived Data文件夹并执行清理。你应该在那之后全力以赴。有关更多信息,请参阅此链接:

Delete Derived Data

答案 5 :(得分:0)

在Xcode 7中,重命名CocoaTouch Framework项目后,我不得不管理Scheme,然后单击“Autocreate Schemes Now”按钮。然后我删除了原始名称的方案。