Добавление схем рабочего пространства Xcode в систему контроля версий

115

Я хотел бы поделиться созданными мной схемами рабочих пространств с другими членами команды. Однако все они хранятся в .xcodeproj> xcuserdata> .xcuserdatad> xcschemes. Я установил, что папки xcuserdata игнорируются в SVN, поскольку я предполагал, что все данные в этой папке специфичны для пользователя.

Есть ли способ обойти это? т.е. я не хочу, чтобы схемы были специфичными для пользователя. Или мне все равно следует проверить папку xcschemes. И если я это сделаю, смогут ли другие пользователи увидеть и использовать мои схемы?

Nikolozi
источник

Ответы:

198

Выберите «Управление схемами» в элементе управления «Схемы». Отметьте «Shared» напротив любых схем, которыми вы хотите поделиться. Схемы будут перемещены в папку с названием «xcshareddata».

Обновление: это работает так же для Xcode 4-8.

Джошуа Ноцци
источник
3
Я не понимаю, почему по умолчанию не используется общий доступ. Это заставляет меня задаться вопросом, чего мне не хватает… Это просто странное значение по умолчанию или есть веская причина, по которой схема обычно не используется?
Benjohn
Это работает, но, к сожалению, он включает абсолютный путь в файл .xcscheme, если для Executable установлено любое значение, кроме «None». Ручное редактирование пути в XML к относительному пути вызывает сбой в XCode. Таким образом, даже несмотря на то, что он «Общий», он содержит пользовательские данные.
bluebadge
@bluebadge Я не вижу того поведения, о котором вы упоминаете в Xcode 7.0 GM. Я просто следовал своим собственным указаниям, а файл .xcscheme не содержит путей; просто «контейнер: MyProjectName.xcodeproj». Вы используете Xcode 7? Вы используете рабочее пространство? Какой «Контейнер» выбран для схемы на листе «Управление схемами»? Требуется дополнительная информация.
Джошуа Ноцци
Работал для меня в XCode 9
marchinram
5

Вам нужно будет перейти в представление «Управление схемами» и снять флажок «Общие» (меню «Продукт» -> Схема -> Управление схемами ...).

Затем вам нужно удалить «xcshareddata / xcschemes» из файла игнорирования и добавить их в репо (или просто использовать «git add -f MyProject.xcodeproj / xcshareddata / xcschemes»).

Натан, почему
источник