Подтвердить что ты не робот

Переименование приложения в 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 переименовать файлы

и

Переименование схемы таким же образом

Вот и все, что я сделал, возможно, этого было недостаточно, поэтому, если кто-то знает правильный путь, пожалуйста, дайте мне знать.

4b9b3361

Ответ 1

Я также пережил этот вопрос недавно. Проект XCode должен иметь две цели. Одна цель для вашего приложения - другая цель для тестов.

В настройках сборки для тестовой цели есть имя параметра Test Host. Значение этого параметра не будет обновляться после переименования целевого приложения.

Правильно измените значение параметра тестового хоста, и все должно работать.

Ответ 2

Я решил это, открыв MyProject.xcodeproj/project.pbxproj с помощью текстового редактора и вручную заменив неправильные имена (*.app)

Ответ 3

Прежде всего, я попытался опубликовать это только как комментарий, но мне еще не разрешено это делать.

Я не очень хорошо знаю Xcode 6, но поскольку я предполагаю, что каждый файл проекта, который он использует, основан на тексте, вы можете попробовать что-то подобное в оболочке, предполагая, что MyProjectDir - это ваш каталог проекта, а OldProjectName - ваш название проекта.

Сначала вы должны очистить и закрыть проект в Xcode.

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

Здесь будут перечислены все файлы с строками, содержащими старое имя проекта (сначала с соответствующими строками, за которым следует запись файла содержащего файла в формате "ls -l" ). Таким образом, вы должны хотя бы знать, какие файлы по-прежнему содержат старое имя. Возможно, изменение этого с помощью текстового редактора выполнит эту работу.

Вы также можете сделать

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

чтобы просмотреть все файлы, содержащие имя старого проекта. Затем вы можете переименовать эти файлы или даже удалить их, если уверены, что они созданы Xcode.

Конечно, сначала сделайте резервную копию своего проекта!

Ответ 4

У меня было то, что похоже на идентичную проблему.

Я решил это:

  • перейдите в каталог проблем: в вашем случае: shell.app.
  • mv shell OLD_NAME. Другими словами: переименуйте файл в старое имя вашего проекта.
  • Clean + Run

Ответ 5

Причиной этого является затяжная ссылка на старый продукт приложения. Вам нужно удалить папку Derived Data и выполнить очистку. После этого вы должны быть настроены. См. Эту ссылку для получения дополнительной информации:

Удалить производные данные

Ответ 6

В Xcode 7, после переименования проекта CocoaTouch Framework, мне пришлось управлять схемами и нажимать кнопку "Autocreate Schemes Now". Затем я удалил схему с исходным именем.