質問: swiftにおける開発業務を分担しようと思っています。 Aさん: 画面1〜3(storyboardで作成) Bさん: 画面4〜6(storyboardで作成) Cさん: 画面7〜9(storyboardで作成) のようにstoryboardの画面とその画面のclassファイル(.swift)ファイルをそれぞれの担当として、また別担当にまたがる処理は結合処理のあとにと考えています。 それぞれ開発が終わり、いざ結合しようとするとstoryboard上の画面がコピー& ペーストできません。仮にできたとしても各画面からつながるclassファイル(.swift)のIBOutletなどがリンクしていてくれるのか不明です。 一般的に分担して開発する際にはみなさんどうしているのでしょうか?
回答: 初めての回答です。質問内容とかけ離れていたらごめんなさい。。 > > 一般的に分担して開発する際にはみなさんどうしているのでしょうか? > > > storyboardを使用した開発と使用しない開発(コードでUIを組む)の2通りがあり、 それぞれプロジェクトの規模やUIの複雑さにより使い分けます。 また、storyboardを使用した開発ではStoryBoardファイルを分割し、肥大化を回避するような開発が一般的かと思います。 前提として、例えばAutoLayoutを使用する設定やStoryBoardのバージョン等はメンバー間で合わせておく必要があるかと思います。 **基本的に複数の作業者が同じStoryBoardを使用した場合でも、XCode上からpullすることで自動マージ出来ます。** コンフリクトした場合、StoryBoardファイルの中身はXMLですので直接修正しなければならないシーンが発生するかもしれません。ヘタするとレイアウトが崩れ、ある時点のCOMMITまで戻すような状況になりますが、以下の様な対策を行うことで回避できます。(あくまで一部です) * COMMITの粒度を小さくする 1つのCOMMITによるStoryBoardの変更数を小さくし、適宜問題がないことを確認する * StoryBoardを分割する ex) A-B-C間のレイアウトをStoryBoard1とする D-E-F間のレイアウトをStoryBoard2とする StoryBoardを切り替える場合、コードでStoryBoardを読込んでViewControllerへ渡す処理が必要になります。