2013-09-26 6 views
11

У меня есть раздражающая проблема с Xcode 5 и разделяемыми схемами.Xcode 5 и общие схемы

В моей команде (мы только два, но эй! Это все-таки команда) мы разделяем некоторые схемы для запуска приложения с различными конфигурациями (Debug, QA, Release, ...)

Ну, теперь Xcode 5 меняет настройку BlueprintIdentifier каждой схемы, исходя из того, что я могу понять, на машине разработчика. И, конечно, изменение получило замечание bit git, и мы либо должны их проверить, либо зафиксировать. Оба решения не имеют смысла ...

Любая идея о том, как исправить это? Я сделал поиск по Google, но ничего не нашел для Xcode 5 ...

Я не хочу отказываться от этих общих конфигураций! Решение, которое я мог придумать, чтобы отслеживать отслеживаемые общие схемы, не удалось их удалить, скопировать в выделенную тестовую папку, а затем использовать стратегию, подобную той, которая использовалась для Pods, чтобы скопировать эти схемы локально, где Xcode может испортить их без нашего внимания. Что-то вроде сценария schemes, который читает файл Schemefile, в котором перечислены схемы для копирования из папки Schemes/ и Schemefile.lock, который обновляется каждый раз, когда есть некоторые изменения и которые читаются процессом сборки Xcode, чтобы убедиться, встретиться.

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

Приветствия :)

+2

Прошло некоторое время с тех пор, как вы спросили об этом. Если бы вы нашли решение, не могли бы вы отправить ответ здесь? – Wes

ответ

2

Во-первых, я предполагаю, что вы используете CocoaPods, потому что вы упомянули его в вашем вопросе.

У меня была эта проблема на некоторое время, и недавно я обнаружил, что некоторые из моих общих схем не получают их BlueprintIdentifier с другими. После расследования я заметил, что нетронутые схемы имели цель Pods под builds, которая отсутствовала, так как в ней был указан красный цвет: Pods (missing). Моя теория такова, что pod install и различные события Xcode (т. Е. Сбой, запуск и т. Д.) Вызывают изменение схемы BlueprintIdentifier, поскольку в настройках построения схемы они ссылаются на цель Pod.

Я удалил ссылку Pods во всех своих схемах и не смог воспроизвести изменения BlueprintIdentifier. Моя цель, которая зависит от Pods, имеет libPods.a, указанную под Link Binary With Libraries, в Build Phases и устанавливается так, чтобы она добиралась до основной цели.

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

+0

Привет, Уэс, спасибо за ответ! Прошло некоторое время с тех пор, как я опубликовал этот вопрос, так долго, что я больше не являюсь частью этой команды! Я не нашел решения самостоятельно, но то, что вы написали в отношении Pods, действительно звучит как нечто, что могло произойти в этом проекте. Так что я собираюсь отметить это как выбранный ответ :) Надеюсь, это был просто какой-то странный крайный случай ... Спасибо! – mokagio

2

@ Ответ Уэса специально не исправил эту проблему для меня, но это привело меня в нужное место. Решение для меня состояло в том, чтобы включить «Найти неявные зависимости» от «выключено» (непроверено) до «включено» (отмечено) с экрана «Редактировать схему» для схемы, которая продолжает меняться.

Смежные вопросы