Додавання схем робочої області Xcode до управління версіями


115

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

Чи є шлях до цього? тобто я не хочу, щоб схеми були специфічними для користувача. Або я повинен все-таки перевірити папку xcschemes. І якщо я це зроблю, чи зможуть інші користувачі бачити та використовувати мої схеми?

Відповіді:


198

Виберіть Керувати схемами в елементі управління схемами. Поставте прапорець "Спільний" поруч із схемами, якими ви хочете поділитися. Схеми будуть переміщені у папку під назвою "xcshareddata".

Оновлення: Це працює так само для Xcode 4-8.


3
Не можу зрозуміти, чому за замовчуванням не ділиться. Це змушує мене замислитися над тим, чого я пропускаю… Це просто дивний дефолт, чи є вагома причина, чому схема взагалі не ділиться?
Бенджон

Це працює, але, на жаль, він вкладає абсолютний шлях у файл .xcscheme, якщо виконуваний файл встановлений на що-небудь, крім "None". Ручне редагування шляху в XML до відносного шляху викликає збій у XCode. Тож навіть якщо це "Спільний доступ", він містить конкретні користувацькі дані.
bluebadge

@bluebadge Я не бачу поведінки, яку ви згадуєте в Xcode 7.0 GM. Я просто дотримувався власних вказівок і файл .xcscheme не містить шляхів; просто "контейнер: MyProjectName.xcodeproj". Ви використовуєте Xcode 7? Ви використовуєте робочу область? Який "Контейнер" обраний для схеми на аркуші Керування схемами? Більше інформації потрібно.
Джошуа Ноцці

Працював для мене в XCode 9
marchinram

4

Вам потрібно буде зайти у вікно "Керування схемами" та зняти прапорець "Спільний" (меню "Продукт" -> Схема -> Управління схемами ...).

Далі вам потрібно буде вилучити "xcshareddata / xcschemes" з файлу ігнорування та додати їх до репо (або просто використовувати "git add -f MyProject.xcodeproj / xcshareddata / xcschemes")

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.