2014-10-04 32 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框架項目後,我不得不管理方案,並單擊「自動創建方案現在」按鈕。然後我用原來的名字刪除了這個方案。