Я знаю, как переименовать проект в Xcode 4, но как переименовать исходную папку? Дело в том, что переименование проекта в Xcode переименовывается только в Xcode (хотя это прогресс по сравнению с предыдущим), но почему Xcode не переименовывает папку в файловой системе, я не знаю.
119
Ответы:
Вы можете сделать это из Xcode, не прибегая к ручному редактированию файла pbxproj в текстовом редакторе!
Вот как:
Переименуйте исходную папку в Finder. Первоначально это нарушит работу проекта, поскольку Xcode не определяет автоматически, когда реальные папки, на которые указывают виртуальные (желтые) папки проекта, изменяются, поэтому все файлы внутри этой папки станут красными в Xcode. Не беспокойтесь об этом, мы исправим это на шаге 3.
В Xcode щелкните виртуальную папку (теперь сломанную) на левой боковой панели и переименуйте ее, чтобы она соответствовала имени в Finder (на самом деле вы можете называть ее как угодно или не переименовывать вообще, но это было бы безумием ). Это не исправит красные файлы внутри папки, но это нормально.
На правой боковой панели в Xcode щелкните значок, показанный на снимке экрана ниже, чтобы открыть диалоговое окно файла. Выберите папку, которую вы ранее переименовали. Это повторно связывает виртуальную папку с реальной папкой на диске и автоматически исправляет ссылки на все файлы внутри.
В настройках сборки найдите старое имя папки и вручную переименуйте все найденные вхождения. Обычно их два, oldfolder / prefix.pch и oldfolder / info.plist, но могут быть и другие.
Все сделано!
РЕДАКТИРОВАТЬ: этот параметр все еще присутствует в Xcode 5, но по умолчанию скрыт. Чтобы отобразить его, щелкните тонкий заголовок «Идентификация и тип» в инспекторе над панелью «Параметры текста», чтобы развернуть его.
источник
Я делал это десятки раз:
.pbxproj
файл внутри пакета проекта (контекстное меню «Показать содержимое пакета») с помощью любого текстового редактора.источник
Задача: переименовать "Play" в "Play2" как в Xcode, так и в Finder
Измените это:
К этому:
ШАГИ:
// Прежде всего, сделайте резервную копию проекта в Finder!
// Все вышеперечисленные шаги просты и без побочных эффектов // // Теперь наступает сложная часть: переименуйте внутреннюю папку (средний столбец на изображении) в Finder (на том же уровне, что и .xcodeproj)
источник
Вот как эффективно переименовать проект в XCode4 (ВКЛЮЧАЯ ПАПКУ ФАЙЛОВ):
источник
Во-первых - не переименовывайте проект Xcode !!!
Если вам нужно, то это может быть то, что ниже - мне так и не удалось заставить его работать, в итоге я создал новый проект и начал копировать все существующие файлы. Xcode такой ах .... В нем так много непродуктивных вещей, например, попробуйте переименовать файл с "Name" на "name". Ну что ж, получайте удовольствие.
Я нашел ответ или как это обойти: откройте файл pbxproj, щелкнув правой кнопкой мыши «Показать содержимое пакета», и там вы отредактируете файл project.pbxproj - вам нужно переименовать ссылку с именем path и некоторые другие вещи - просто найдите имя папки добавлено "/".
Вот и все. Надеюсь, это кому-то поможет.
источник
Вот еще одна проблема, о которой вам следует знать при замене значений в вашем файле * .pbxproj. Если ваше старое имя папки было FooBar, в вашем файле * .pbxproj будет запись, которая будет выглядеть так:
path = FooBar
Предположим, ваша новая папка называется Foo Bar. То есть вы вводите пробел. Затем эта строка должна стать
path = "Панель Foo"
Если вы просто выполните простой поиск и замену, результатом будет файл * .pbxproj, который Xcode не сможет проанализировать. Если в вашем новом имени папки есть пробел, а в старом имени пробела нет, обязательно включите двойные кавычки.
источник
Я подводлю итоги для себя, изучив различные ответы выше и попробовав себя. Предположим, что текущее имя проекта - ProjAbc, и вы хотите переименовать его в ProjDef:
Выйдите из Xcode этого проекта.
В Finder продублируйте папку НАД ProjAbc.xcodeproj для резервного копирования.
В Finder свободно переименуйте папку НАД ProjAbc.xcodeproj, если вы чувствуете, что она вам нужна, чтобы соответствовать новому имени проекта.
В Finder переименуйте папку с исходными файлами параллельно ProjAbc.xcodeproj с ProjAbc на ProjDef.
Откройте Xcode для ProjAbc.xcodeproj (в Project Navigator все файлы в виртуальной исходной папке ProjAbc будут красного цвета).
В Xcode щелкните (теперь сломанную) виртуальную папку в Project Navigator на левой боковой панели и переименуйте ее, чтобы она соответствовала имени в Finder - ProjDef. Это еще не исправит красные файлы внутри папки, но это нормально.
В Xcode (по-прежнему выбирая виртуальную папку на левой боковой панели) на правой боковой панели в Инспекторе файлов щелкните значок, показанный на снимке экрана ниже, чтобы открыть диалоговое окно файла. В диалоговом окне файла выберите папку, которую вы ранее переименовали (ProjDef). Это повторно связывает виртуальную папку с реальной папкой на диске и автоматически исправляет ссылки на все файлы внутри.
В Xcode в Project Navigator щелкните имя проекта ProjAbc и переименуйте его в ProjDef.
В Xcode откройте «Параметры сборки» внутри цели ProjDef (внутри проекта ProjDef в Навигаторе проекта). Переименуйте имя папки и имя файла в файлах * -Info.plist и * -Prefix.pch, чтобы они содержали ProjDef вместо ProjAbc.
В Xcode, в Project Navigator, в папке виртуальных источников ProjDef, в «Supporting Files», также снова переименуйте файлы * -Info.plist и * -Prefix.pch, чтобы они содержали ProjDef вместо ProjAbc.
В меню Xcode нажмите Product / Scheme / Manage Schemes ... (или нажмите «ProjAbc»> имя схемы на панели схемы слева вверху Xcode и нажмите «Manage Schemes ...») и в диалоговом окне переименуйте Scheme из ProjAbc в ProjDef, затем нажмите кнопку «ОК». Если название проекта состоит из одного слова, вы можете запустить его прямо сейчас!
В Xcode отредактируйте верхнюю строку комментария в файле Supporting Files / * - Prefix.pch и замените ProjAbc на ProjDef (2 раза). Конечно, исправлять этот комментарий необязательно.
Закройте Xcode.
В Finder укажите на ProjDef.xcodeproj и откройте его в текстовом редакторе. (Либо откройте его в TextWrangler.app, либо щелкните правой кнопкой мыши и во всплывающем меню нажмите «Показать содержимое пакета», затем отредактируйте файл project.pbxproj в TextEdit.app)
В текстовом редакторе найдите «ProjAbc» (все слово, совпадение регистра), которое должно появиться один раз (в абзаце: / * Начало раздела PBXNativeTarget * / в строке: productName = ProjAbc;) и замените его на «ProjDef». Действительно, проект все равно можно запустить !, поэтому этот шаг не является обязательным.
если имя проекта состоит из 2 или более отдельных слов, например "ProjDef Geh", то вы ДОЛЖНЫ выполнить следующие шаги: Найдите ссылку на папку Finder в папке виртуальных исходных файлов -
Сохраните из текстового редактора и выйдите из текстового редактора.
Вот и все. Как написано выше, если имя проекта состоит из одного слова, вы можете запустить его сразу в конце шага 11.
источник
Я нашел приведенные выше ответы действительно полезными, особенно ответ Ника Локвуда.
Я только что переименовал пару папок в Xcode 8 и обнаружил еще две проблемы: A) «ошибки отсутствуют в рабочей копии» B) Сбой Core Data .
Как решить эти две проблемы:
А) « ошибки отсутствуют в рабочей копии »
Я нашел следующий ответ очень полезным: Swift 3 / Xcode 8 Upgrade - 100 файлов DerivedData отсутствуют в ошибках рабочей копии.
В основном Xcode 8 имеет строгий контроль версий, что может привести к указанным выше ошибкам. Ты должен:
Я предполагаю, что вы уже включили систему контроля версий. Если вы этого не сделали или если вы застряли, следуя моим инструкциям, просто следуйте более подробным инструкциям по предоставленной ссылке.
Б) Core Data вылетает
Переименование папок иногда приводит к сбоям в работе Core Data. Есть несколько возможных причин, почему это так, и ниже я могу предложить некоторые исправления:
Неверное название модели AppDelegate . Так было в моей ситуации. Зайдите в свой AppDelegate и найдите
let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")
. Убедитесь, что имя правильное.В будущем (через несколько лет после этой публикации, когда Apple снова изменит Core Data) или если вы используете старую версию Core Data, внимательно посмотрите на AppDelegate. Вероятно, там есть что-то странное, что портит ваши Core Data.
Неверное название модели в xcdatamodeld . Перейдите в Finder и откройте свой .xcdatamodeld в текстовом редакторе.
Проверьте следующее:
Подробнее здесь: файлы модели Core Data не загружаются при переименовании
источник
Если у вас есть старая ссылка на исходный проект в вашем проекте, при дублировании проекта (каждое изменение влияет на оба проекта) здесь решение
================================================== ======================
источник