更新:同じワークスペースに 2 つの "Pods.xcodeproj" を配置することは可能ですが、同じディレクトリに配置することはできません。
サブディレクトリ ソリューション
「CoreProject」を「MyProject」のサブディレクトリにチェックアウトするpod install
と、「MyProject」と「CoreProject」の両方のディレクトリで実行できます。このようにして、両方のプロジェクトが独自の「Pods.xcodeproj」を持つことができます。
実行後のファイル構成です。
MyProject
├── MyProject
├── MyProject.xcodeproj
├── MyProject.xcworkspace
├── Podfile
├── Podfile.lock
├── Pods
│ └── Pods.xcodeproj
└── CoreProject
├── Core.m
├── CoreProject
├── CoreProject.xcodeproj
├── CoreProject.xcworkspace
├── Podfile
├── Podfile.lock
└── Pods
└── Pods.xcodeproj
最後に、次の手順を実行する必要があります。
- 「MyProject.xcworkspace」を開く
- 「CoreProject.xcodeproj」とその「Pods.xcodeproj」を追加
- 「MyProject」から「CoreProject」をリンク
「CoreProject.xcworkspace」を使用して「MyProject」を編集しないでください。
これがこの場合のプロジェクト構造です。
MyProject.xcworkspace
|
+-- MyProject.xcodeproj
+-- Pods.xcodeproj (for MyProject)
+-- CoreProject.xcodeproj
+-- Pods.xcodeproj (for CoreProject)
共有ポッド ソリューション
CoreProject の Pod に触れることができる場合は、次の解決策が適しています。
新しい「Pods.xcodeproj」を作成し、「MyProject」および「CoreProject」と共有する必要があります。
プロジェクト構造は以下のようになります (「新しい構造」と同じですが、ポッドは新しいものに置き換えられます)。
MyApp
|
+-- MyApp.xcworkspace
|
+-- MyProject.xcodeproj
+-- CoreProject.xcodeproj
+-- Pods.xcodeproj (your own)
これは、ワークスペースの Podfile のサンプルです。この場合、「MyProject」から「CoreProject」をリンクすると、「AFNetworking」は両方のプロジェクトで使用できますが、「SDWebImage」は「MyProject」でのみ使用できます。
ポッドファイル
workspace 'MyApp'
xcodeproj 'CoreProject.xcodeproj'
xcodeproj 'MyProject.xcodeproj'
target "CoreProject" do
pod 'AFNetworking'
xcodeproj 'CoreProject.xcodeproj'
end
target "CoreProjectTests", :exclusive => true do
pod 'OCMockito'
xcodeproj 'CoreProject.xcodeproj'
end
target "MyProject" do
pod 'SDWebImage'
xcodeproj 'MyProject.xcodeproj'
end
target "MyProjectTests", :exclusive => true do
pod 'OCHamcrest'
xcodeproj 'MyProject.xcodeproj'
end