Как полностью переименовать проект Xcode (т. е. включая папки)?
у меня есть проект под названием XXX. Я хочу переименовать этот проект YYY.
отметим, что XXX является чрезвычайно распространенным термином (например, "данные" или просто "проект"), и поэтому простой поиск и замена регулярных выражений невозможны из-за риска повреждения файлов конфигурации проекта.
мой текущий каталог проекта содержит следующие предметы:
XXXXXXTestsXXX.xcodeproj
и я хочу переименовать их в:
YYYYYYTestsYYY.xcodeproj
... соответственно, с необходимыми изменениями, отраженными в моем файле проекта.
как я могу сделать это без необходимости вручную создавать и заполнять новый проект?
Edit: это абсолютно смешно, что это стало моим самым популярным вопросом: p
6 ответов:
Шаг 1 - переименовать проект
- нажмите на проект, который вы хотите переименовать в" навигаторе проектов " слева от представления Xcode.
- справа выберите " File inspector "и имя вашего проекта должно быть там в разделе" Identity and Type", измените его на новое имя.
- Нажмите кнопку "переименовать" в меню
Шаг 2-переименовать схему
- в верхней панели (рядом с кнопкой "стоп"), есть схема для вашего старого продукта, нажмите на нее, а затем перейдите в раздел "Управление схемами"
- нажмите на старое имя в схеме, и оно станет редактируемым, измените имя
Шаг 3 - переименуйте папку с вашими активами
- Выйти Из Xcode
- в правильно названной главной папке есть недавно названный файл xcodeproj с неправильно названной старой папкой. Переименуйте старую папку на новое имя
- откройте проект, вы увидите предупреждение: "папка старая не существует", отклонить предупреждение
- в" навигаторе проектов " слева щелкните имя старой папки верхнего уровня
- в панели утилит в разделе " Identity and type "вы увидите запись" Name", измените ее со старого на новое имя
- чуть ниже есть запись" местоположение". Нажмите на папку со старым именем и выберите новую переименованную папку
Шаг 4-переименовать plist сборки данные**
- нажмите на проект в" навигаторе проектов "слева, в главной панели выберите "настройки сборки"
- Поиск "plist" в этом разделе
- под упаковкой, вы увидите
Info.plistиProduct bundle identifier- переименовать верхнюю запись в
Info.plist- сделать то же самое для
Product Identifierнаконец-то, вы сделали и можете восстановить (Command + Shift + K для того чтобы очистить,
чтобы добавить к @ luke-west отличный ответ:
при использовании CocoaPods
после шага 2:
- Выйти Из XCode.
- в главной папке, переименовывать
OLD.xcworkspaceдоNEW.xcworkspace.после шага 4:
- в XCode: выберите и отредактируйте
Podfileиз проекта "навигатор". Вы должны увидетьtargetпредложение со старым именем. Измените его на новый.- Выйти Из XCode.
- в папка проекта, удалите .
rm -rf Pods/- выполнить
pod install.- Открыть XCode.
- щелкните имя проекта в навигаторе проектов.
- в главной панели переключитесь на
Build Phasestab.- под
Link Binary With LibrariesискатьlibPods-OLD.aи удалить оно.- если у вас есть заголовок моста objective-c, перейдите к настройкам сборки и измените местоположение заголовка из старого/старого моста.ч Новый / новый мост-заголовок.h
- очистить и запустить.
более быстрое решение с помощью команд оболочки (работает и с CocoaPods):
пожалуйста
cdВ РЕПОЗИТОРИЙ БЕЗ GIT ПЕРЕД ПРОДОЛЖЕНИЕМ ⚠Шаг 1-Предпосылки
- скопируйте исходную папку проекта во временную
/NewProjectFolderвне вашего репозитория git. ⚠️ изменений .ГИТ может повредить ваш индекс git☠Шаг 2-Открыть Терминал
теперь мы собираемся переименуйте проект из
oldNameдоNewProject.
- Закрыть XCode.
- иди к своему
/NewProjectFolder.cd /Path/to/your/NewProjectFolder
- установите необходимые дополнительные инструменты.
brew install rename ack
- переименовать файлы и каталоги, содержащие исходную строку. вам нужно будет выполнить эту команду дважды, потому что сначала будут переименованы каталоги, а затем файлы и каталоги внутри них будут переименованы на следующем итерация.
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
- Проверьте, переименованы ли все файлы, содержащие исходную строку. Вы должны увидеть пустой вывод.
find . -name 'oldName*'
- заменить все вхождения строки во всех файлах.
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
- Проверьте, были ли заменены все вхождения строки во всех файлах. Вы должны увидеть пустой вывод.
ack --literal 'oldName'
- выполнить
pod install- добавить
NewProjectFolderto ваше хранилище.- Вы молодец!
изменить имя проекта;
- выберите свой проект в навигаторе проектов.
2.In в разделе идентификатор и тип инспектора файлов введите новое имя в поле Имя.
3.нажать RETURN.
появится диалоговое окно со списком элементов в вашем проекте, которые можно переименовать. Диалоговое окно включает предварительный просмотр того, как элементы будут отображаться после изменения.
для выборочного переименования элементов, отключите флажки для всех элементов, которые вы не хотите переименовывать. Чтобы переименовать только ваше приложение, оставьте его выбранным и снимите все остальные элементы.
Нажмите "Переименовать"
есть проект GitHub под названием
Xcode Project Renamer:он должен быть выполнен из корневого каталога проекта Xcode и вызываться с двумя строковыми параметрами: $OLD_PROJECT_NAME & $NEW_PROJECT_NAME
скрипт рекурсивно проходит через все файлы и каталоги, включая проект Xcode или файл рабочей области и заменяет все вхождения из $ OLD_PROJECT_NAME строки с $NEW_PROJECT_NAME строки (оба в имя каждого файла и содержание.)
дополнительные инструкции при выполнении решений @Luke-West + @Vaiden:
Если ваша схема не изменилась (по-прежнему отображается мой mac) в левом верхнем углу рядом с кнопкой остановки:
- нажмите вновь созданное имя проекта (рядом с кнопкой "стоп") > нажмите "Редактировать схемы" > "построить" (слева) > удалите старую цель (скажете, что она отсутствует) и замените ее новым именованным проектом в разделе " Новый именованный проект логотип
кроме того, мне не пришлось использовать Шаг 3 решения @Vaiden. Просто работает
rm -rf Pods/в терминале избавился от всех старых pod файловмне также не пришлось использовать Шаг 9 в решении @Vaiden, вместо этого я просто удалил старый проект с именем framework в разделе Link Binary Libraries (недавно названная платформа уже была там)
таким образом, обновленные шаги будут выглядеть следующим образом:
Шаг 1 - переименовать проект
- нажмите на проект, который вы хотите переименовать в" навигаторе проектов " слева от представления Xcode.
- справа выберите " File inspector "и имя вашего проекта должно быть там в разделе" Identity and Type", измените его на новое имя.
- Нажмите кнопку "переименовать" в меню
Шаг 2-переименовать схему
- в верхней панели (рядом с кнопкой "стоп"), есть схема для вашего старого продукта, нажмите на нее, а затем перейдите в раздел "Управление схемами"
- нажмите на старое имя в схеме, и оно станет редактируемым, измените имя
- Выйти Из XCode.
- в главной папке переименуйте старый.xcworkspace к новому.xcworkspace.
Шаг 3 - переименуйте папку с вашими активами
- Выйти Из Xcode
- в правильно названной главной папке есть новый файл xcodeproj с неправильно названной старой папкой. Переименуйте старую папку на новое имя
- снова откройте проект, вы увидите предупреждение: "папка OLD не существует", отклоните предупреждение
- в" навигаторе проектов " слева щелкните имя старой папки верхнего уровня
- в панели утилит в разделе " Identity and type "вы увидите запись" Name", измените ее со старого на новое имя
- чуть ниже есть запись" местоположение". Нажмите на папку с старое имя и выбрал недавно переименованную папку
Шаг 4-переименуйте данные plist сборки
- нажмите на проект в" навигаторе проектов "слева, в главной панели выберите "настройки сборки"
- Поиск "plist" в этом разделе Под упаковкой вы увидите информацию.plist, и идентификатор пакета продукта
- переименовать верхнюю запись в Info.файл plist
- сделать то же самое для продукта Идентификатор
Шаг 5 Обработка Подфайла
- в XCode: выберите и отредактируйте Подфайл в навигаторе проекта. Вы должны увидеть целевое предложение со старым именем. Измените его на новый.
- Выйти Из XCode.
- в терминале, cd в каталог проекта, затем:
rm -rf Pods/- запуск pod install.
- Открыть XCode.
- щелкните имя проекта в навигаторе проектов.
- в главная панель, перейдите на вкладку фазы сборки. В разделе Link Binary With Libraries найдите старый фреймворк и удалите его( должен сказать, что он отсутствует) новый фреймворк уже должен быть там, если не использовать кнопку "+" в нижней части окна, чтобы добавить его
- если у вас есть заголовок моста objective-c, перейдите к настройкам сборки и измените местоположение заголовка из старого/старого моста.h к новому / NEW-Bridging-Header.h
- очистить и бежать.
вы должны быть в состоянии построить без ошибок после того, как вы выполнили все шаги успешно
Comments