Cocoapods:将pod连接到多个目标问题

Fer*_*ney 8 xcode ios cocoapods

我正在尝试将Cocoapods生成的静态库链接到我工作区中的多个目标.当我这样做时,我在构建时在链接阶段出现重复的符号错误.这是有意义的,因为我连接图书馆两次.

我该如何解决这个问题?我应该仅链接到主目标并包含共享目标中Pod的标头路径吗?我怎么能在Cocoapods做到这一点?我可以手动设置Pod的标题路径,但似乎打败了使用点pod install.

以下是我的工作场所设置.它由一个主项目和多个静态库组成,它们是拥有共享代码的xcode项目.我将两个静态库项目的产品链接到主目标,它们自动成为主目标的依赖项.

shared1.xcodeproj -> target shared1
shared2.xcodeproj -> target shared2 
main.xcodeproj -> target main
Run Code Online (Sandbox Code Playgroud)

这是我的Podfile:

workspace 'Main.xcworkspace'
xcodeproj 'Main.xcodeproj'
xcodeproj 'Shared1.xcodeproj'
platform :ios

target :ThirdParty, :exclusive => true do
    link_with ['main', 'shared1']

    pod 'MKNetworkKit'
    pod 'SBJSON'
    ...
end
Run Code Online (Sandbox Code Playgroud)

小智 0

我遇到过这个。我修复它的方法是删除主项目的依赖项。当主项目与共享项目链接时,它会自动访问依赖项。

workspace 'Main.xcworkspace'
xcodeproj 'Main.xcodeproj'
xcodeproj 'Shared1.xcodeproj'
platform :ios

target :ThirdParty, :exclusive => true do
    link_with ['shared1']

    pod 'MKNetworkKit'
    pod 'SBJSON'
    ...
end
Run Code Online (Sandbox Code Playgroud)