2014-10-04 64 views
20

我有一个需要重命名的应用程序,因此只需轻微更改就可以重用代码,并且遇到困难。在Xcode 6中重命名应用程序

我跟着这个链接,它似乎掩盖它,但是当我试图建立它,我收到一个链接错误,也如下:

链接资源:

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中重命名这些文件

而且

以同样的方式重命名方案

这就是我所做的,也许这本身是不够的,所以如果有人知道正确的方式请让我知道。

+0

尝试构建一个干净的文件夹:Command-Shift-Option-K。告诉我它是否有效,我会将其作为答案发布。 – Undo 2014-10-04 20:47:58

+0

根据我的初始问题的最后一行,我试过了,它没有解决它我再次尝试确保但没有更改 – 2014-10-04 20:52:22

+0

尝试关闭xcode并删除'''〜/ Library/Developer/Xcode/DerivedData''中的所有内容'。然后重新打开xcode。之前我已经修复了链接器错误。干净通常是不够的。 – cypres 2014-10-04 21:02:02

回答

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生成的,则甚至可以将其删除。

当然,一定要先备份您的项目!

4

我用文本编辑器打开MyProject.xcodeproj/project.pbxproj和手动替换不正确的名称(*。应用程序)

12

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

在测试目标的生成设置中有一个设置名称测试主机。重命名您的应用目标后,此设置的值不会更新。

正确修改测试主机设置值,一切都应该工作。

+2

这是这里的正确答案。从myoldproject.app/myoldproject重命名为mynewproject.app/mynewproject – 2015-02-17 19:33:16

+1

地狱。谢了,兄弟。这个无家可归的人得到另一整天休息!这至少需要一天的时间才能解决。干杯 – SleepsOnNewspapers 2015-03-19 19:03:17

+0

我已经看到这在其他地方回答..在我的情况下,有人更改名称以包含空格,所以它在配置中的许多地方被引用了一个“_”,但在这种情况下,它是项目名称字面 – hanzolo 2017-02-25 06:02:34

1

我有什么看起来是相同的问题。

我解决它通过:

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

这样做的原因是挥之不去的参考旧的应用程序产品。您需要删除Derived Data文件夹并执行清理。之后你应该全部设置好。请参阅此链接更多阅读:

Delete Derived Data

+1

没有为我工作 – SleepsOnNewspapers 2015-03-19 18:42:05

0

在Xcode中7,重命名CocoaTouch框架项目后,我不得不管理方案,并单击“自动创建方案现在”按钮。然后我用原来的名字删除了这个方案。