Дублировать и переименовывать проекты Xcode и связанные с ними папки

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

Этот ответ является кульминацией различных других сообщений StackOverflow и учебников по всему Интернету, привезенных в одно место для моей будущей ссылки, и помогать всем, кто может столкнуться с одной и той же проблемой. В конце каждого кредита даются другие ответы.

Дублирование проекта Xcode

  • В Finder дублируйте папку проекта в нужное место вашего нового проекта. Не переименуйте имя файла .xcodeproj или любые связанные с ним папки на этом этапе.

  • В Xcode переименуйте проект. Выберите свой проект из панели навигатора (левая панель). На панели «Утилиты» (правая панель) переименуйте свой проект, Примите изменения, предлагаемые Xcode.

  • В Xcode переименуйте схемы в «Управление схемами», также переименуйте любые цели, которые могут быть у вас.

  • Если вы не используете идентификатор Bundle по умолчанию, который содержит текущий PRODUCT_NAME в конце (так будет автоматически обновляться), затем измените свой идентификатор Bundle на новый, который вы будете использовать для вашего дублированного проекта.

Переименование исходной папки

Поэтому после выполнения вышеуказанных шагов вам необходимо создать дублированный и переименованный проект Xcode, который должен успешно скомпилировать и скомпилировать, однако ваша папка с исходным кодом будет по-прежнему названа так, как это было в исходном проекте. Это не вызывает проблем с компилятором, но это не самая ясная структура файлов для людей в SCM и т. Д. Чтобы переименовать эту папку, не нарушая все ссылки на файлы, выполните следующие действия:

  • В Finder переименуйте исходную папку. Это нарушит ваш проект, поскольку Xcode не будет автоматически определять изменения. Все ваши списки файлов xcode потеряют связь с фактическими файлами, поэтому все они станут красными.

  • В Xcode нажмите на виртуальную папку, которую вы переименовали (это, вероятно, будет правильно вверху, как раз под вашим фактическим .xcodeproject) Переименуйте это в соответствии с именем в Finder, это ничего не исправит и строго не будет требуемый шаг, но приятно иметь имена файлов.

  • В Xcode выберите папку, которую вы только что переименовали в навигационной панели. Затем на панели «Утилиты» (справа) щелкните значок, который выглядит как темно-серая папка, прямо под раскрывающимся меню «Местоположение». Оттуда перейдите в свою переименованную папку в поисковом устройстве и нажмите «Выбрать». Это автоматически заменит все ваши файлы, и они больше не будут отображаться красным в области навигации Xcode.

Значок для клика

  • В настройках проекта / целей вы можете найти имя старой папки и вручную переименовать все найденные вами вхождения. Обычно для префикса.pch и один для файла info.plist, но может быть и больше.

  • Если вы используете сторонние библиотеки (Testflight / Hockeyapp / etc), вам также нужно будет искать «Пути поиска библиотеки» и переименовать все вхождения старого имени файла здесь.

  • Повторите этот процесс для любых папок исходного кода исходного кода, которые может содержать ваш проект, процесс идентичен.

Это должно позволить вам дублировать и переименовывать проект xcode и все связанные файлы без необходимости вручную редактировать любые файлы xcode и рисковать запутыванием вещей.

кредиты

Большое спасибо Нику Локвуду и Паули Глотт за предоставление отдельных ответов на эту проблему.

  • Дублирование проекта XCode 4
  • Переименование проекта xcode 4 и фактической папки

Я отправляю это, так как я всегда боролся при переименовании проекта в XCode .

Переименование проекта является хорошим и простым, но это не переименовывает исходную папку. Вот шаг за шагом, что я сделал, что отлично поработало в Xcode 4 и 5 благодаря ссылкам ниже.

Ссылки REF:
Переименуйте проект.
Переименуйте папку-источник и другие файлы.

1- Резервное копирование проекта.

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

2- Откройте проект.

3- Медленный двойной щелчок или нажатие введите название проекта (синий значок) и переименуйте его в любое удобное для вас время.

ПРИМЕЧАНИЕ. После того, как вы переименуете проект и нажмите «Ввод», он предложит автоматически изменить все записи, связанные с именем проекта, и позволит вам отменить выбор некоторых из них, если хотите. Выберите все из них и нажмите «ОК».

4- Переименуйте схему

a) Нажмите меню рядом с кнопкой остановки и выберите «Управление схемами».

b) Однократное нажатие или нажатие введите старую схему имени и переименуйте ее в любое удобное для вас время.

c) Нажмите «ОК».

5 – Сборка и запуск, чтобы убедиться, что он работает.

ПРИМЕЧАНИЯ: На этом этапе все важные файлы проекта должны быть переименованы, за исключением комментариев в classах, созданных при создании проекта, и в исходной папке. Затем мы переименуем папку в файловой системе.

6- Закройте проект.

7 – Переименуйте основную и исходную папку.

8 Щелкните правой кнопкой .xcodeproj файл проекта .xcodeproj и выберите «Показать содержимое пакета» в контекстном меню. Откройте файл .pbxproj с любым текстовым редактором.

9- Найдите и замените любое вхождение исходного имени папки новым именем папки.

10 Сохраните файл.

11- Откройте проект XCode, проверьте его.

12- Готово.

С XCode 7 это стало намного проще.

Apple зарегистрировала этот процесс на своем сайте: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html

Обновление: ссылка XCode 8: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f

Я использую Xcode 6+, и я просто делаю:

  • Скопируйте все файлы в папках проекта в новые папки (с новым именем).
  • Открыть *.xcodeproj or *.xcworkspace
  • Измените название проекта.
  • Нажмите на схему и удалите текущий chema и добавьте новый.

Здесь сделано, но имя windows Xcode и *.xcodeproj or *.xcworkspace все еще . Затем я делаю:

  • pop install
  • Открыть .xcworkspace

Еще одна вещь, чтобы попробовать!

Когда я скопировал все мои файлы, открыл проект и переименовал его, все изменилось на мое новое имя проекта, за исключением тестовой цели! Я получил ошибку компоновщика, в которой говорилось, что мне не хватает файла с именем myOldProjectname.app. Вот что исправлено:

  1. Нажмите на свои настройки проекта и выберите целевую аудиторию введите описание изображения здесь

  2. Нажмите на настройки сборки и найдите «тестовый хост», введите описание изображения здесь

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

Надеюсь, это поможет!

Я использую этот скрипт после того, как переименую свой проект iOS. Это помогает изменить имя каталогов и синхронизировать имена.

http://github.com/ytbryan/rename

ПРИМЕЧАНИЕ. Вам нужно будет вручную изменить имя схемы.

Для кого-либо, у кого возникли проблемы с сбоями в раскадровке после копирования вашего проекта, перейдите к Main.storyboard в разделе Identity Inspector.

Затем проверьте, что ваш текущий модуль является правильным переименованным модулем, а не старым.

В примере кода для книги «Instant OpenCV for iOS» я нашел сценарий bash, который копирует проект из папки в другую.
Проводя небольшое исследование, я нашел сообщение в блоге из того, что кажется оригинальным автором сценария: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , где вы можете скачать скрипт . Я дал ему попробовать и запустить его с терминала, как это

  sh renameXcodeProject.sh   

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

Я использую простой скрипт BASH для переименования.

Использование: ./rename.sh oldName newName

 #!/bin/sh OLDNAME=$1 NEWNAME=$2 export LC_CTYPE=C export LANG=C find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} + mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj" mv "${OLDNAME}" "${NEWNAME}" 

Заметки:

  1. Этот скрипт будет игнорировать все файлы, такие как .git и .DS_Store
  2. Не работает, если старое имя / новое имя содержит пробелы
  3. Может не работать, если вы используете контейнеры (не тестировались)
  4. Имя схемы не будет изменено (в любом случае проект выполняется и компилируется в обычном режиме)
  • Почему мне нужно называть super -dealloc последним, а не первым?
  • Как я могу назвать оригинальный «оператор new», если я его перегрузил?
  • Лучшая практика для определения событий кнопки в android
  • Как работает пул автозаполнения NSAutoreleasePool?
  • Процедура слишком большая
  • Накладные расходы памяти Java HashMap по сравнению с ArrayList
  • Java Runtime.getRuntime (). Exec () альтернативы
  • Как тег отличается от ветки в Git? Что я должен использовать здесь?
  • Maven: Должен ли я хранить или удалять объявленные зависимости, которые также являются транзитными зависимостями?
  • Swift: защита против, если пусть
  • Доступная память для iPhone OS
  • Давайте будем гением компьютера.