【问题标题】:CocoaPods: how can I have a workspace that contain several projects (including embedded frameworks and/or static libraries)?CocoaPods:如何拥有一个包含多个项目(包括嵌入式框架和/或静态库)的工作区?
【发布时间】:2021-07-19 00:29:35
【问题描述】:

我有以下情况:

  • 一个应用程序A,它嵌入了一个框架F
  • 这个框架F是一个私有的pod,并嵌入了一个静态库S
  • 这个静态库S也是一个私有的pod。

这是我的应用程序A Podfile:

platform :ios, '12.0'
use_frameworks!

source '{my_private_pod_repo}.git'

target `A` do
    pod 'F', :source => '{my_private_pod_repo}.git'
end

这很有效,因为它创建了一个 A.xcworkspace,其中包含我的应用程序 A 和一个嵌入的 Pods_A.framework

但是,我想做的是拥有一个包含这三个项目的工作区。这个想法是能够访问每个应用程序/框架/库的源代码,在同一个工作区中打开 - 但我仍然希望应用程序仅引用 Pods_A.framework 而不是本地的每个库/框架。 CocoaPods 有什么办法吗?

感谢您的帮助

【问题讨论】:

    标签: xcode cocoapods


    【解决方案1】:

    我相信这是不可能的,对不起。您可以将多个 podfile 链接在一起,这样如果您更改一个,所有其他的都会更改。这是在 macOS 中通过右键单击文件并按 make alias 来完成的。

    【讨论】:

      【解决方案2】:

      是的,您可以在一个工作区中添加多个项目。

      假设您有以下目录结构。 (如果您的项目 FS 是单独的 repos,您甚至可以将它们添加为 git 子模块)

      |-- A
      |   |-- A.xcodeproj
      |   |-- A.xcworkspace
      |   |-- F
      |   |   |-- F.xcodeproj
      |   |   `-- ...
      |   `-- S
      |   |   |-- S.xcodeproj
      |   |   `-- ...
      
      • 打开A.xcworkspace

      • 在工作区中拖放A/F/F.xcodeproj

      • 在工作区中拖放A/S/S.xcodeproj

      • 现在打开 PodFile(在根文件夹 A 中)并进行类似的更改。

          workspace 'A.xcworkspace'
        
          target 'A' do
            use_frameworks!
        
            # Pods for A
            pod 'F', :source => './F'
          end
        
          target 'F' do
            use_frameworks!
        
            project 'F/F' # project local path
            # Pods for F
            pod 'S', :source => './S'
        
          end
        
          target 'S' do
            use_frameworks!
        
            project 'S/S' # project local path
            # Pods for S
        
          end
        
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        • 2021-02-26
        相关资源
        最近更新 更多