質問

XCodeを共有フォルダーでうまく動作させ、複数の人が同時にiPhoneアプリで作業できるようにする方法はありますか?または、SubEthaEditまたは他のリアルタイムコラボレーションツールのようなものに切り替える必要がありますか?

役に立ちましたか?

解決

Xcodeは、ファイルシステムで非常にひどく動作することがわかっています。プロジェクトを管理する場合、フォルダをグループまたはフォルダ参照として追加するための2つのオプションがあります。

グループを追加すると、フォルダーはXcodeにミラーリングされますが、グループはファイルシステムと同期しません。つまり、グループ内で移動したり、グループを削除したり、 FS、逆にすると、Xcodeはファイルを失います。

フォルダ参照を追加する2番目のオプションは非常に便利に聞こえますが、完全にバグがあります。フォルダー参照は適切に更新されない場合があり、フォルダー内で変更が検出されません(リソースにイメージフォルダー参照を追加してコンテンツを更新した場合、リソースは次のビルドで更新されないため、クリーン&リビルドする必要があります)。

Xcodeを使用しない(ここではvim + SConsを使用し、非常に満足しています)か、SCMを使用する必要があります(SCMは他のツールと組み合わせることもできますが、とにかくSCMを使用する必要があります) 。

SCMに関してはMercurialをお勧めしますが、SVNやGitなどもあります。Googleを少しお勧めして、意見を述べてください。

他のヒント

SCMを使用する場合、これまでの最善のアプローチは、project.pbxprojをチェックインすることです。  ファイル(.xcodeprojバンドル内)。ほとんどの場合、うまくマージされます。手動でマージする必要がある場合もありますが、その場合、90%の時間でマージの両側を許可するだけです。

私の.gitignoreファイルは次のようになります:

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

他のSCMシステムに対して、同様のディレクティブの無視セットを使用できます。

フォルダの参照は画像に対しては問題ありません(画像の内容を変更する場合は[クリーン]を実行する必要があります)が、ソースには適していません。

共有フォルダで複数の人の作業を許可することは災害のレシピであり、コメントを更新するために午前中のほとんどの時間編集しているファイルを誰かが最初に上書きしたときに後悔します。

SCMを取得し、全員が自分のコードを自分のプライベートフォルダーにチェックアウトできるようにします。

ネットワークディスクではなくローカルディスクからビルドしているため、ビルドが高速になったときにも幸せになります。

リアルタイムのコラボレーション、つまり実際に同じコードを同じファイルに同時に書き込む複数のプログラマーを探している場合は、subethaeditのようなコラボレーションエディターを使用する必要があります。 Xethのソースファイルの優先エディターとしてsubethaeditを設定できます。

このようにして、Xcodeプロジェクトをホストするプログラマーが1人いて、subethaeditでソースファイルを開きます。次に、他のプログラマーがsubethaeditを介してファイルにログインします。次に、ホスティングプログラマーは、ローカルXcodeでコードをコンパイルします。

ただし、上記のRudedogのコメントで述べたように、複数の人が同じプロジェクトで異なるファイルで作業したい場合は、コード管理ツールを使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top