2014-10-04 13 views
20

Mam aplikację, której potrzebuję zmienić nazwę, aby kod mógł zostać ponownie użyty z niewielkimi zmianami i mam problemy.Zmiana nazwy aplikacji w Xcode 6

Śledziłem ten link i wydawało się to ukryć, ale kiedy próbowałem budować go dostałam łączący błąd, który wynika również:

Link do zasobów:

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

To powiązanie błąd dostaję i informacja widzę

 
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) 

Czy jest coś, czego mi brakuje? Spróbowałem go wyczyścić i to nie miało żadnego skutku.

To tylko niektóre wyjaśnienie proces opisany w linku powyżej proponuje następujące:

podwójne kliknięcie powoli na nazwę projektu w panelu nawigatora projektu w górnej części lewej strony ekranu. Następnie pozostawić Xcode do zmiany nazw plików

I

Zmiana nazwy programu w taki sam sposób

To wszystko zrobiłem może samo w sobie nie było wystarczająco dużo, więc jeśli ktoś zna właściwą drogę daj mi znać .

+0

Spróbuj wyczyścić folder kompilacji: Command-Shift-Option-K. Powiedz mi, czy to działa, a ja opublikuję to jako odpowiedź. – Undo

+0

Zgodnie z ostatnią linijką w moim głównym pytaniu spróbowałem i to nie naprawiło. Próbowałem ponownie, aby się upewnić, ale bez zmiany. –

+0

Spróbuj zamknąć xcode i usunąć wszystko z pliku '' '~/Library/Developer/Xcode/DerivedData'' '. Następnie ponownie otwórz xcode. Naprawił wcześniej błędy linkera. Czyszczenie często nie wystarcza. – cypres

Odpowiedz

2

Przede wszystkim starałem się pisać to tylko jako komentarz, ale nie wolno mi jeszcze zrobić.

nie wiem Xcode 6 bardzo dobrze, ale ponieważ zakładam każdy plik projektu to używa jest oparty na tekście, można spróbować coś takiego w powłoce, zakładając MyProjectDir jest katalogiem projekt i OldProjectName jest stare imię twojego projektu.

Najpierw należy wyczyścić i zamknąć projekt w Xcode.

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

To pokaże wszystkie pliki z linii zawierających starą nazwę projektu (każda pierwsza z linii dopasowania, a następnie pozycji katalogu zawierającego pliku w formacie „ls -l”). W ten sposób powinieneś przynajmniej wiedzieć, które pliki nadal zawierają starą nazwę. Może to zmienić za pomocą edytora tekstowego.

Można również zrobić

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

do listy wszystkich plików zawierających starą nazwę projektu. Następnie możesz zmienić nazwy tych plików lub nawet je usunąć, jeśli masz pewność, że zostały wygenerowane przez Xcode.

Oczywiście, należy zrobić kopię zapasową swojego projektu!

4

Postanowiłem to otwierając MyProject.xcodeproj/project.pbxproj za pomocą edytora tekstu i ręcznie zastąpienie nieprawidłowych nazw (* .app)

12

ja również doświadczyłem tego problemu w ostatnim czasie. Twój projekt XCode powinien mieć dwa cele. Jeden cel dla Twojej aplikacji to drugi cel testów.

W ustawieniach Build dla celu testowego istnieje nazwa ustawienia Test Host. Wartość tego ustawienia nie jest aktualizowana po zmianie nazwy celu aplikacji.

Poprawnie zmień wartość ustawienia Hosta testowego i wszystko powinno działać.

+2

To jest poprawna odpowiedź tutaj. Zmień nazwę z myoldproject.app/myoldproject na mynewproject.app/mynewproject –

+1

do diabła, tak. Dzięki bracie. ten bezdomny dostaje kolejny pełny dzień wolny !! zajęłoby to bratu przynajmniej jeden dzień, aby to naprawić. Pozdrawiam – SleepsOnNewspapers

+0

Widziałem to w innych miejscach. W moim przypadku ktoś zmienił nazwę, by zawierał spację, więc w wielu miejscach w pliku konfiguracyjnym odwołuje się do "_", jednak w tym przypadku była to nazwa projektu literalny – hanzolo

1

Miałem coś, co wygląda identycznie.

Rozwiązałem go:

  1. przechodząc do katalogu problem: w przypadku: shell.app.
  2. mv shell OLD_NAME. Innymi słowy: zmień nazwę pliku na starą nazwę swojego projektu.
  3. Clean + Run
0

Przyczyną jest to przewlekły odniesienie do starej aplikacji produktu. Musisz usunąć folder Derived Data i wykonać opcję Wyczyść. Powinieneś już wszystko ustawić. Zobacz ten link, aby uzyskać więcej czytania

Delete Derived Data

+1

nie działa dla mnie – SleepsOnNewspapers

0

W Xcode 7, po zmianie nazwy projektu Cocoa Touch ramową, miałem do zarządzania programami oraz kliknij „systemy Autocreate teraz”. Następnie usunąłem schemat z oryginalną nazwą.