Как удалить конфиг в Build Settings на низком уровне в XCode 4 - PullRequest
5 голосов
/ 13 июля 2011

В XCode 4.0.2 есть хороший способ настроить программу на Build Settings, когда вы нажимаете в формате «Уровни». Мне нравится этот экран

showing a sample in Vuild Settings

Уровни следующие:

  1. Настройки цели
  2. Настройки проекта
  3. Настройки iOS по умолчанию

Таким образом, XCode проверяет, есть ли у Target конфиг, если не видно в project, и если нет, используйте iOS default.

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

Как на картинке. Я установил все цели для использования Google в Current Project Version, но в этой цели я хочу использовать stackOverflow, и это сработает. Но в другом Generated Versioning ... я сначала конфигурирую с stackOverflow, но передумаю и хочу использовать Project Settings. Теперь невозможно удалить Target Settings, и мне придется ввести его вручную.

Как удалить настройку цели, чтобы использовать настройку проекта?

Ответы [ 3 ]

1 голос
/ 25 июля 2013

В xcode 5 это сработало просто для меня. У меня была такая же ситуация, как на картинке в вопросе. Некоторые данные в настройках проекта и пустая, но зеленая настройка на целевом уровне.

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

0 голосов
/ 29 августа 2011

Я только что понял это. Это немного схематично, но работает и не кажется мне опасным (особенно если вы используете контроль версий).

  1. В Xcode удалите текст из конфигурации целевого уровня. Убедитесь, что он все еще определен на уровне проекта.
  2. Посмотрите на разность YourProjectName.xcodeproj/project.pbxproj, чтобы вы могли определить название уровня кода настройки, которую вы только что изменили. Например, в XCode я удалил текст из моей конфигурации целевого уровня для "Других флагов Си". Мой дифференциал показал, что настройка OTHER_CFLAGS меняется с OTHER_CFLAGS="mytargetlevelsetting" на OTHER_CFLAGS="". Если вы используете контроль версий (которым вы должны быть), вам будет легко получить эту разницу.
  3. Выйти из Xcode.
  4. Откройте YourProjectName.xcodeproj/project.pbxproj в текстовом редакторе. Найдите все строки, начиная с имени параметра, найденного на шаге 2. Удалите все строки, в которых значение является пустой строкой, и оставьте все остальные. Например, я удалил все строки с надписью OTHER_CFLAGS="", но сохранил все строки с надписью OTHER_CFLAGS="settingiwanttokeep". Если вы не видите ничего, где значение является пустой строкой, или все их значения являются пустыми строками, вы, вероятно, не выполнили шаг 1.

Когда вы снова откроете Xcode и снова посмотрите на параметры сборки вашей цели, рассматриваемая настройка должна использовать конфигурацию уровня проекта, а не цель.

0 голосов
/ 13 июля 2011

Нажмите кнопку «Комбинированный» и измените значение настройки сборки. Теперь, когда вы нажмете кнопку «Уровни», вы увидите, что у цели и проекта есть новое значение для параметра сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...