Как указать несколько целей и проектов в моем подкоде для моего проекта Xcode?

У меня есть одно рабочее пространство, которое содержит 3 проекта (Project1, Project2), Project1 содержит 2 цели (Target1, Target2), а Project2 содержит 1 цель (target3). Структура каталогов выглядит как диаграмма ниже.

Как настроить Podfile, чтобы у каждой цели был pod 'RestKit'?

Я не знаю, что 'link_with' и Пожалуйста, напишите мне podfile и объясните мне, спасибо вам большое.

    MyApp
|
+-- MyApp.xcworkspace
|
+-- Project1
|    |
|    +-- Target1.xcodeproj
|    +-- (source code)
|    |
|    +-- Target2
|    +-- (source code)
|
|
+-- Project2
|    |
|    +-- Target3.xcodeproj
|    +-- (source code)
|
+-- Target3
     |
     +-- (source code)

Ответы

Ответ 1

Этот подфайл не проверен, но может показать вам базовую идею настройки нескольких проектов и целей.

workspace 'MyApp'
xcodeproj 'Project1/Project1.xcodeproj'
xcodeproj 'Project2/Project2.xcodeproj'

target :Target1 do
    platform :ios, '6.0'
    pod 'RestKit'
    xcodeproj 'Project1/Project1.xcodeproj'
end

target :Target2 do
    platform :ios, '6.0'
    pod 'RestKit'
    xcodeproj 'Project2/Project2.xcodeproj'
end

target :Target3 do
    platform :ios, '6.0'
    pod 'RestKit'
    xcodeproj 'Project1/Project1.xcodeproj'
end

Первая строка указывает ваше рабочее пространство. Проверьте http://guides.cocoapods.org/syntax/podfile.html#workspace

Вторая строка и третья строка указывают ваши xcodeprojs. http://guides.cocoapods.org/syntax/podfile.html#xcodeproj

И затем, задайте зависимости pod для целей по одному.

Ответ 2

Вот рабочий пример из https://github.com/dblock/ARASCIISwizzle:

workspace 'ARASCIISwizzle'

pod 'ARASCIISwizzle', :path => 'ARASCIISwizzle.podspec'

xcodeproj 'Demo.xcodeproj'

target 'Demo' do
  pod 'FLKAutoLayout', '~> 0.1.1'
  xcodeproj 'Demo.xcodeproj'
end

target 'IntegrationTests' do
  pod 'Specta', '~> 0.2.1'
  pod 'Expecta', '~> 0.2.3'
  pod 'FBSnapshotTestCase', :head
  pod 'EXPMatchers+FBSnapshotTest', :head
  xcodeproj 'Demo.xcodeproj'
end

target 'Tests' do
  pod 'Specta', '~> 0.2.1'
  pod 'Expecta', '~> 0.2.3'
  pod 'FBSnapshotTestCase', :head
  pod 'EXPMatchers+FBSnapshotTest', :head
  pod 'OCMock', '~> 2.2.3'
  xcodeproj 'Tests.xcodeproj'
end

Обратите внимание на обсуждение в https://github.com/CocoaPods/CocoaPods/issues/1922, команда CocoaPods перерабатывает этот DSL меньше назад.