XCodeプロジェクトでは、xcodeproject / project.pbxprojファイルを変更することがよくありますが、私にとっては役に立たない情報であり、コンパイルのためです。
このファイルとxcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstateファイルを無視する必要がありますか?
XCodeプロジェクトでは、xcodeproject / project.pbxprojファイルを変更することがよくありますが、私にとっては役に立たない情報であり、コンパイルのためです。
このファイルとxcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstateファイルを無視する必要がありますか?
回答:
Swift Package Managerに照らして更新します。プロジェクトをSwiftパッケージとしてビルドする場合は、ファイルシステムを真のソースとして使用して生成できるため、このファイルは無視してください。これを行うには、次のコマンドを使用します。
$ cd ~/Projects/MyProjectFolder/
$ swift package generate-xcodeproj
非SwiftPMの回答については-以下を参照してください。
このファイルには、プロジェクト内のすべてのファイルのリスト、ターゲットの設定、およびどのファイルがどのターゲットに属しているかが保持されます。これは、おそらくプロジェクトバンドルの中で最も重要なファイルです。あなたはいけません。このファイルを無視します。これにはいくつかのポイントがあります:
これは、xcodeprojバンドルのリポジトリに必要な唯一のファイルです。そのファイルには、ターゲットファイルとビルド設定のすべての情報が含まれています。
project.pbxprojを除外すると、Jenkinsビルドは失敗します。したがって、これはJenkinsを使用する場合に重要です。
Xcodegenを使用してYAMLプロジェクト仕様ファイルからpbxprojを生成し、gitでpbxprojを無視して、必要なときにいつでも生成できます。
私はすでにモジュール式アーキテクチャ(多くのpbxprojs)を持つ2番目のプロジェクトでXcodegenを使用しており、8人以上の開発者がそれに取り組んでいます。
https://github.com/yonaskolb/XcodeGen
それが役に立てば幸い。
project.pbxprojは、Xcode構成バンドルの重要なファイルです。すべてのリンクされたファイルとそのグループ、リンクされたフレームワーク、そして最も重要なのはプロジェクトのビルド設定への参照を維持する責任があります。このため、バージョン管理からproject.pbxprojを除外できません。
これが私の.gitignore
Xcodeプロジェクトの私の一般的なものです。
# OS X Finder
.DS_Store
# Xcode per-user config
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
*.xcworkspace
xcuserdata
# Build products
build/
*.o
*.LinkFileList
*.hmap
# Automatic backup files
*~.nib/
*.swp
*~
*.dat
*.dep