Ограничить или изменить Направления Схемы в Xcode 4? - PullRequest
14 голосов
/ 18 марта 2011

Обзор и мотивация

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

Например, я никогда не хочу создавать специальную сборку с назначением симулятора.Возможность выбирать места назначения симулятора для построения Ad Hoc - это просто шум.

Желаемое поведение

Desired - only iOS Device

Фактическое поведение

Actual

То, что я пробовал

  • Я удалил значение «iphonesimulator» в «Support Platforms» в конфигурацияхкоторые предназначены только для устройств, например:

Configuration Support Platforms

  • В настройках схемы Ad Hoc я отключил шаги запуска и профиля.Я оставил шаг архива

steps

  • Для всех шагов сборки (включая отключенные) я установил Конфигурацию сборки на «Ad Hoc», которая ранее былатолько на iphoneos.

Результаты на данный момент

Я все еще могу выбрать Симулятор в качестве пункта назначения в раскрывающемся списке схемы:

Simulator still availabke

Однако, если я запускаю схему с назначением симулятора, я получаю ожидаемое, соответствующее ошибку:

The selected run destination is not valid for this action.

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

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

1 Ответ

3 голосов
/ 18 марта 2011

Обновленный ответ

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

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

К сожалению, я думаю, что доступные пункты назначения - это агрегированный список пунктов назначения, доступных для всех целей.Подайте отчет об ошибке: http://bugreporter.apple.com

Другое обновление

AH!Похоже, ошибка Xcode с обновлением селектора схемы!Я настроил параметры каждой цели - один для исключения симулятора, а другой - для его сохранения - затем закрыл и заново открыл проект.Как ни странно, у первой цели был только пункт назначения устройства iOS, а у другой цели - адресаты устройства + симулятора.

Так что , вполне возможно, что ответом будет дублирование желаемых целей и установка их наразрешите только устройство, затем убедитесь, что ваша схема правильно названа, чтобы вы знали, какая цель строится.Закройте и снова откройте проект, и список должен появиться так, как вы ожидаете.

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