Я хотел бы иметь возможность дублировать весь проект XCode, переименовывать проект и связанные с ним файлы без умственного XCode и без необходимости повторного импорта всех файлов в проект вручную.
источник
Я хотел бы иметь возможность дублировать весь проект XCode, переименовывать проект и связанные с ним файлы без умственного XCode и без необходимости повторного импорта всех файлов в проект вручную.
Этот ответ является кульминацией различных других публикаций и учебных пособий StackOverflow по всему Интернету, собранных в одном месте для моей будущей ссылки и для помощи всем, кто может столкнуться с той же проблемой. Весь кредит предоставляется для других ответов в конце.
В Finder скопируйте папку проекта в нужное место вашего нового проекта. Не переименовывайте имя файла .xcodeproj или любые связанные с ним папки на этом этапе.
В Xcode переименуйте проект. Выберите свой проект на панели навигатора (левая панель). На панели «Служебные программы» (правая панель) переименуйте ваш проект, примите изменения, предлагаемые Xcode.
В XCode переименуйте схемы в «Управлении схемами», также переименуйте любые цели, которые у вас могут быть.
Если вы не используете идентификатор пакета по умолчанию, который в конце содержит текущее имя PRODUCT_NAME (поэтому он будет обновляться автоматически), измените идентификатор пакета на новый, который вы будете использовать для дублированного проекта.
Таким образом, после выполнения вышеупомянутых шагов у вас должен быть дублированный и переименованный проект Xcode, который должен успешно скомпилироваться и скомпилироваться, однако ваша папка с исходным кодом будет по-прежнему иметь имя, как и в исходном проекте. Это не вызывает каких-либо проблем с компилятором, но это не самая четкая файловая структура, по которой люди могут перемещаться в SCM и т. Д. Чтобы переименовать эту папку, не нарушая все ссылки на файлы, выполните следующие действия:
В Finder переименуйте исходную папку. Это сломает ваш проект, потому что XCode не будет автоматически обнаруживать изменения. Все ваши списки файлов xcode потеряют свои связи с реальными файлами, поэтому все станут красными.
В XCode, нажмите на виртуальную папку, которую вы переименовали (это, вероятно, будет прямо вверху, прямо под вашим фактическим .xcodeproject). Переименуйте это, чтобы соответствовать имени в Finder, это ничего не исправит и строго не обязательный шаг, но хорошо, если имена файлов совпадают.
В XCode, выберите папку, которую вы только что переименовали в области навигации. Затем на панели «Утилиты» (справа) щелкните значок, который выглядит как темно-серая папка, прямо под выпадающим меню «Местоположение». Отсюда перейдите к вашей переименованной папке в Finder и нажмите «Выбрать». Это автоматически переопределит все ваши файлы, и они больше не должны отображаться красным цветом в навигационной панели Xcode.
В настройках сборки вашего проекта / целей найдите старое имя папки и вручную переименуйте все найденные вхождения. Обычно есть один для prefix.pch и один для info.plist, но может быть и больше.
Если вы используете какие-либо сторонние библиотеки (Testflight / Hockeyapp / и т. Д.), Вам также нужно будет найти «Пути поиска библиотек» и переименовать все вхождения старого имени файла здесь.
Повторите этот процесс для любых папок с исходным кодом модульного теста, которые может содержать ваш проект, процесс идентичен.
Это должно позволить вам дублировать и переименовывать проект xcode и все связанные файлы без необходимости вручную редактировать какие-либо файлы xcode, и рискует испортить ситуацию.
Большое спасибо Нику Локвуду и Поли Глотту за отдельные ответы на эту проблему.
*.xcodeproj/project.pbxproj
файла было много вещей, которые содержали исходный путь к папке. В частности, сборка не удалась, потому что она продолжала искать info.plist в исходной папке.Я публикую это, так как всегда пытался переименовать проект в
XCode
.Переименование проекта - это хорошо и просто, но это не переименовывает исходную папку. Вот шаг за шагом того, что я сделал, который работал отлично в Xcode 4 и 5 благодаря ссылкам ниже.
Ссылки REF:
переименовать проект.
Переименуйте исходную папку и другие файлы.
1- Сделайте резервную копию вашего проекта.
Если вы используете git, передайте любые изменения, сделайте копию всей папки проекта и сделайте резервную копию на машине времени, прежде чем вносить какие-либо изменения (этот шаг не требуется, но я настоятельно рекомендую).
2- Откройте свой проект.
3- Медленно дважды щелкните или нажмите «Enter» в названии проекта (синий верхний значок) и переименуйте его по своему вкусу.
4- переименовать схему
а) Нажмите меню рядом с кнопкой «Стоп» и выберите «Управление схемами».
б) Нажмите один-медленный клик или нажмите ввод по старой схеме имен и переименуйте ее так, как вам нравится.
в) Нажмите ОК.
5 - Сборка и запуск, чтобы убедиться, что он работает.
6- Закройте проект.
7- Переименуйте основную и исходную папку.
8. Щелкните правой кнопкой мыши
.xcodeproj
файл пакета проекта и выберите «Показать содержимое пакета» в контекстном меню. Откройте файл .pbxproj в любом текстовом редакторе.9. Найдите и замените любое вхождение исходного имени папки новым именем папки.
10- Сохраните файл.
11- Откройте проект XCode, протестируйте его.
12- Готово.
ИЗМЕНИТЬ 10/11/19:
Существует инструмент для переименования проектов в XCode, я еще не пробовал его комментировать. https://github.com/appculture/xcode-project-renamer
источник
Начиная с 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
источник
Я использую этот скрипт после того, как переименую свой iOS-проект. Это помогает изменить имя каталогов и сделать имена синхронизированными.
ПРИМЕЧАНИЕ: вам нужно будет вручную изменить название схемы.
источник
В примере кода для книги «Instant OpenCV для iOS» я нашел bash-скрипт, который копирует проект из папки в другую.
Проведя небольшое исследование, я нашел сообщение в блоге от того, что, кажется, является первоначальным автором сценария: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , где Вы можете скачать скрипт . Я дал ему попробовать и запустить его из терминала, как это
работает отлично.
Дополнительную информацию можно найти, открыв файл в текстовом редакторе. надеюсь, это поможет
источник
Я использую Xcode 6+ и просто делаю:
*.xcodeproj or *.xcworkspace
Здесь делается, но имя окна Xcode и
*.xcodeproj or *.xcworkspace
еще<old-name>
. Тогда я делаю:pop install
<new name>.xcworkspace
источник
Еще одна вещь, чтобы попробовать!
Когда я скопировал все мои файлы, открыл проект и переименовал его, все изменилось на имя моего нового проекта, за исключением цели теста! Я получил ошибку компоновщика, из-за которой мне не хватало файла myOldProjectname.app. Вот что это исправило:
Нажмите на настройки вашего проекта и выберите цель теста
Нажмите на настройки сборки и найдите «тестовый хост»
Проверьте эти 2 пути к файлам. Скорее всего, эти 2 пути все еще указывают на название вашего старого проекта.
Надеюсь, это поможет!
источник
Если у кого-то возникнут проблемы со сбоями раскадровки после копирования вашего проекта, перейдите на Main.storyboard под Identity Inspector.
Затем убедитесь, что ваш текущий модуль является правильным переименованным модулем, а не старым.
источник
Я использую простой скрипт BASH для переименования.
Использование:
./rename.sh oldName newName
Ноты:
.git
и.DS_Store
источник