Как полностью переименовать проект Xcode (т. е. включая папки)?

у меня есть проект под названием XXX. Я хочу переименовать этот проект YYY.

отметим, что XXX является чрезвычайно распространенным термином (например, "данные" или просто "проект"), и поэтому простой поиск и замена регулярных выражений невозможны, из-за риска повреждения файлов конфигурации проекта.

мой текущий каталог проекта содержит следующие предметы:

  • XXX
  • XXXTests
  • XXX.xcodeproj

и я хочу переименовать их в:

  • YYY
  • YYYTests
  • YYY.xcodeproj

... соответственно, с необходимыми изменениями, отраженными в моем файле проекта.

как я могу это сделать без необходимости вручную создавать и заполнять новый проект?


Edit: это абсолютно смешно, что это стало моим самым популярным вопросом: p

6 ответов


Шаг 1 - переименовать проект

  1. нажмите на проект, который вы хотите переименовать в" навигаторе проектов " слева от представления Xcode.
  2. справа выберите "инспектор файлов", и имя вашего проекта должно быть там в разделе" идентификатор и тип", измените его на новое имя.
  3. нажмите "переименовать" в раскрывающемся меню

Шаг 2-переименовать схему

  1. в верхней панели (рядом с кнопкой" стоп") есть схема для вашего старого продукта, нажмите на нее, затем перейдите в раздел "Управление схемами"
  2. нажмите на старое имя в схеме, и оно станет редактируемым, измените имя

Шаг 3 - переименуйте папку с вашими активами

  1. Выйти Из Xcode
  2. в правильно названной главной папке есть недавно названный файл xcodeproj с неправильно названной старой папкой. Переименуйте старую папку в новое имя
  3. откройте проект, вы увидите предупреждение: "папка OLD не существует", отклоните предупреждение
  4. в" навигаторе проектов " слева нажмите на старое имя папки верхнего уровня
  5. на панели утилиты в разделе " идентификатор и тип "вы увидите запись" имя", измените это со старого на новое имя
  6. чуть ниже есть запись "местоположение". Нажмите на папку со старым именем и выберите недавно переименованную папку

Шаг 4-переименуйте plist сборки данные**

  1. нажмите на проект в" навигаторе проектов "слева, в главной панели выберите "настройки сборки"
  2. Поиск "plist" в этом разделе
  3. под упаковкой, вы увидите Info.plist и Product bundle identifier
  4. переименовать верхнюю запись в Info.plist
  5. сделать то же самое для Product Identifier

наконец-то, вы сделали и можете восстановить ( Команда + Shift + K для того чтобы очистить,


чтобы добавить к @ luke-west отличный ответ:

при использовании CocoaPods

после шага 2:

  1. Выйти Из XCode.
  2. в главной папке, переименовывать OLD.xcworkspace до NEW.xcworkspace.

после шага 4:

  1. в XCode: выберите и отредактируйте Podfile из проекта "навигатор". Вы должны увидеть target предложение со старым именем. Измените его на новый.
  2. Выйти Из XCode.
  3. в папка проекта, удалить .
  4. rm -rf Pods/
  5. выполнить pod install.
  6. Открыть XCode.
  7. нажмите на название проекта в навигаторе проектов.
  8. в главной панели переключитесь на Build Phases tab.
  9. под Link Binary With Libraries искать libPods-OLD.a и удалить он.
  10. если у вас есть заголовок моста objective-c, перейдите к настройкам сборки и измените местоположение заголовка со старого/старого моста.ч Новый / NEW-Bridging-заголовок.h
  11. очистить и запустить.

более быстрое решение с помощью команд оболочки (работает с CocoaPods тоже):

пожалуйста cd В РЕПОЗИТОРИЙ NON-GIT ПЕРЕД ПРОДОЛЖЕНИЕМ ⚠

Этап 1 - Предпосылки

  1. скопируйте исходную папку проекта во временную /NewProjectFolder вне вашего репозитория git. ⚠️ изменений .ГИТ может повредить ваш индекс git

Шаг 2-Открыть Терминал

теперь мы собираемся переименуйте проект из oldName to 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
  • добавить NewProjectFolder для ваше хранилище.
  • Вы молодец!

изменить название проекта;

  1. выберите проект в навигаторе проектов.

2.В разделе удостоверение и тип инспектора файлов введите новое имя в поле Имя.

3.нажать RETURN.

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

  1. выборочное переименование элементов, отключите флажки для любых элементов, которые вы не хотите переименовывать. Чтобы переименовать только ваше приложение, оставьте выбранное приложение и снимите все остальные элементы.

  2. Нажмите "Переименовать"


существует проект GitHub под названием Xcode Project Renamer:

он должен быть выполнен из внутреннего корня каталога проекта Xcode и вызван с двумя строковыми параметрами: $OLD_PROJECT_NAME & $NEW_PROJECT_NAME

скрипт перебирает все файлы и каталоги рекурсивно, включая проект Xcode или файл рабочей области и заменяет все вхождения строки $OLD_PROJECT_NAME с строкой $NEW_PROJECT_NAME (оба в имя каждого файла и содержание.)

Xcode Project Renamer


дополнительные инструкции при выполнении решений @Luke-West + @Vaiden:

  • Если ваша схема не изменилась (все еще показывает мой mac) в левом верхнем углу рядом с кнопкой остановки:

    1. нажмите вновь созданное имя проекта (рядом с кнопкой "стоп") > нажмите "Редактировать схемы" > "построить" (левая сторона) > удалить старую цель (скажет, что она отсутствует) и заменить на вновь названный проект под вновь названным проектом логотип

кроме того, мне не нужно было использовать Шаг 3 решения @Vaiden. Просто бегу rm -rf Pods/ в терминале избавился от всех старых файлов pod

мне также не пришлось использовать Шаг 9 в решении @Vaiden, вместо этого я просто удалил старый проект с именем framework в двоичных библиотеках Link (недавно названная платформа уже была там)

таким образом, обновленные шаги будут следующими:

Шаг 1 - переименовать проект

  1. нажмите на проект, который вы хотите переименовать в" навигаторе проектов " слева от представления Xcode.
  2. справа выберите "инспектор файлов", и имя вашего проекта должно быть там в разделе" идентификатор и тип", измените его на новое имя.
  3. нажмите "переименовать" в раскрывающемся меню

Шаг 2-переименовать схему

  1. в верхней панели (рядом с кнопкой" стоп") есть схема для вашего старого продукта, нажмите на нее, затем перейдите в раздел "Управление схемами"
  2. нажмите на старое имя в схеме, и оно станет редактируемым, измените имя
  3. Выйти Из XCode.
  4. в главной папке переименуйте старый.xcworkspace на новый.xcworkspace все.

Шаг 3 - переименуйте папку с вашими активами

  1. Выйти Из Xcode
  2. в правильно названной главной папке есть недавно названный файл xcodeproj с неправильно названной старой папкой. Переименуйте старую папку в новое имя
  3. повторно откройте проект, вы увидите предупреждение: "папка OLD не существует", отклоните предупреждение
  4. в" навигаторе проектов " слева нажмите на старое имя папки верхнего уровня
  5. на панели утилиты в разделе " идентификатор и тип "вы увидите запись" имя", измените это со старого на новое имя
  6. чуть ниже есть запись "местоположение". Нажмите на папку с старое имя и выберите недавно переименованную папку

Шаг 4-переименуйте данные plist сборки

  1. нажмите на проект в" навигаторе проектов "слева, в главной панели выберите "настройки сборки"
  2. Поиск "plist" в этом разделе Под упаковкой вы увидите информацию.plist и идентификатор пакета продукта
  3. переименовать верхнюю запись в Info.файл plist
  4. сделать то же самое для продукта Идентификатор

Шаг 5 Обработка Подфайла

  1. в XCode: выберите и отредактируйте Подфайл из навигатора проекта. Вы должны увидеть предложение target со старым именем. Измените его на новый.
  2. Выйти Из XCode.
  3. в терминале, cd в каталог проекта, затем:rm -rf Pods/
  4. запустить pod install.
  5. Открыть XCode.
  6. нажмите на имя проекта в навигаторе проекта.
  7. в главная панель, перейдите на вкладку этапы сборки. В разделе Link Binary With Libraries найдите старый фреймворк и удалите его (следует сказать, что он отсутствует), новый фреймворк уже должен быть там, если не использовать кнопку "+" в нижней части окна, чтобы добавить его
  8. если у вас есть заголовок моста objective-c, перейдите к настройкам сборки и измените местоположение заголовка со старого/старого моста.h для нового / NEW-Bridging-Header.h
  9. очистить и бежать.

вы должны быть в состоянии построить без ошибок после того, как вы выполнили все шаги успешно