如何与框架项目swift共享父(主机)项目pod?

时间:2017-02-25 11:27:47

标签: ios xcode cocoapods ios-frameworks cocoapods-1.2

我正在开发Framework,我已将此框架项目添加到主机项目中。现在我想将cocoapods pod(框架)添加到父(主机)项目中。并将相同的pod共享到子(框架)项目中。或者有什么我可以添加到Podfile,它将与子项目共享。

SwiftProtoBuf框架,我想用。而且我不想制作伞形框架。

我们可以在父项目和子项目之间共享cocoapods pod

platform :ios, '8.0'
use_frameworks!

workspace 'ParentApp.xcworkspace'

abstract_target 'commonpods' do
    pod 'SwiftProtobuf', git: 'https://github.com/apple/swift-protobuf.git', :tag => '0.9.24'

    target 'ParentApp' do
        project 'ParentApp.xcodeproj'

    end

    target 'ChildApp' do
        project 'ChildFramework/ChildApp.xcodeproj'
    end

end

或者我需要将pod添加到两个项目中,例如

platform :ios, '8.0'
    use_frameworks!
        target 'ParentApp' do
            project 'ParentApp.xcodeproj'
    pod 'SwiftProtobuf', git: 'https://github.com/apple/swift-protobuf.git', :tag => '0.9.24'
        end

        target 'ChildApp' do
            project 'ChildFramework/ChildApp.xcodeproj'
      pod 'SwiftProtobuf', git: 'https://github.com/apple/swift-protobuf.git', :tag => '0.9.24'
    end

1 个答案:

答案 0 :(得分:4)

经过一点点的斗争,我能够解决它,它可能会帮助一个有需要的人。

  1. 创建空白.xcworkspace,Xcode->文件 - >新建>工作区

  2. 在xcode中打开.xcworkspace文件,将您的主机(partent)项目添加到.xcworkspace

  3. 在.xcworkspace中添加您的框架(子)项目。

  4. 和Podfile结构就像。

    platform :ios, '8.0'
    use_frameworks!
    
    workspace 'MyWorkSpaceName.xcworkspace'
    
    abstract_target 'CommonPods' do
        pod 'SwiftProtobuf', git: 'https://github.com/apple/swift-protobuf.git', :tag => '0.9.24'
    
        target 'MyHostAppProject' do
            project 'MyHostAppProject/MyHostAppProject.xcodeproj'
    
        end
    
        target 'MyFrameworkProject' do
            project 'MyFrameworkProject/MyFrameworkProject.xcodeproj'
        end
    
    end
    

    确保创建.xcworkspace并将项目添加到工作区,然后仅将pod安装到项目中。