2009-11-29 2 views
0

Есть ли способ заставить XCode хорошо играть с общими папками и разрешить нескольким пользователям работать в приложении iPhone одновременно? Или нам нужно будет переключиться на нечто вроде SubEthaEdit или какого-нибудь другого инструмента для совместной работы в реальном времени?Общие папки и XCode

+1

Как о локальном репозитории subversion, если вы не используете SCM в другом месте. – wkw

ответ

1

Xcode умеет играть очень плохо с файловой системой. При управлении проектом у вас есть два варианта: добавлять папки как группы или ссылки на папки.

Если вы добавите группу, папка будет зеркально отражена в Xcode, но группа не будет синхронизироваться с файловой системой, то есть вы можете перемещать вещи внутри группы, удалять группу, не трогать FS, reverse сделает Xcode потерять файлы.

Второй вариант, чтобы добавить ссылку на папку, звучит очень сладко, но полностью прослушивается. Ссылки на папки могут не обновляться должным образом, изменения не обнаруживаются в папках (если вы добавляете ссылку на папку «Изображения» на свои ресурсы и обновляете содержимое, ваши ресурсы не будут обновляться в следующей сборке, вам необходимо очистить & перестроить).

Вот почему вы не должны использовать Xcode (мы используем vim + SCons здесь и очень довольны этим), или вам нужно использовать SCM (SCM можно связать с другими инструментами, вы ДОЛЖНЫ использовать SCM в любом случае).

Что касается SCM, я рекомендую Mercurial, но есть также SVN и Git и многие другие, я предлагаю вам Google немного и высказать свое мнение.

1

Если вы используете SCM, наилучшим подходом до сих пор является проверка файла project.pbxproj (внутри вашего пакета .xcodeproj). В основном это сливается просто отлично, иногда приходится вручную сливаться, но в тех случаях 90% времени вы просто разрешаете обе стороны слияния.

Моего файл .gitignore выглядит следующим образом:

# xcode noise 
build/* 
*.pbxuser 
*.mode1v3 
*.perspectivev3 
*~ 
*.mode2v3 

Вы можете использовать подобные игнорирования набора директив для других систем SCM.

Ссылки на папки в порядке для изображений (с оговоркой, что вы должны очистить, если вы меняете какое-либо содержимое изображения), но не подходят для источника.

1

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

Получите SCM и попросите всех проверить свой код в своей личной папке.

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

+1

icefire, Это ответ, который вы должны выбрать. Системы управления кодом, такие как Subversion, были созданы для решения именно этой проблемы. Используйте правильный инструмент для работы. – TechZen

0

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

Таким образом, у вас есть один программист, у которого есть проект Xcode, который открывает исходные файлы в subethaedit. Другие программисты затем записываются в файл через subethaedit. Затем хостинг-программист компилирует код в свой локальный Xcode.

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

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