【问题标题】:Project/workspace structure for multiple apps with CocoaPods带有 CocoaPods 的多个应用程序的项目/工作区结构
【发布时间】:2012-09-28 01:58:02
【问题描述】:

我即将迁移我的应用程序以使用 CocoaPods。我当前的目录结构如下图所示。我有一个包含 3 个项目的工作区(ipadipodcommon)。 ipadipod 项目中有构建目标,它们依赖于 common 项目。

MyGreatApp
|
+-- MyGreatApp.xcworkspace
|
+-- ipad
|    |
|    +-- ipad.xcodeproj
|    +-- (source code)
|
+-- ipod
|    |
|    +-- ipod.xcodeproj
|    +-- (source code)
|
+-- common
     |
     +-- common.xcodeproj
     +-- (source code)

我的问题是,我应该如何将它迁移到 CocoaPods?看起来 CocoaPods 为您创建的每个 Podfile 创建了一个新工作区。我想保留我的 3 项目工作区结构,因为它似乎将所有东西很好地结合在一起。我应该为每个带有目标的项目创建一个Podfile 并为公共项目创建一个Specfile 吗?那么如何在 XCode 中设置呢?

【问题讨论】:

    标签: ios xcode cocoapods


    【解决方案1】:

    在本文发布时的最新版本中,您的 podfile 需要采用以下格式:

    workspace 'Test'
    xcodeproj 'iphone/iphone.xcodeproj'
    xcodeproj 'iphone2/iphone2.xcodeproj'
    
    target :iphone do
        platform :ios, '6.0'
        pod 'RestKit'
        xcodeproj 'iphone/iphone.xcodeproj'
    end
    
    target :iphone2 do
        platform :ios, '6.0'
        pod 'RestKit'
        xcodeproj 'iphone2/iphone2.xcodeproj'
    end
    

    我确认这适用于现有工作区中的多个项目。

    查看这篇文章了解更多详情:https://github.com/CocoaPods/CocoaPods/issues/738

    【讨论】:

    • 所以是的,我遇到了同样的问题。我经历了这个线程:github.com/CocoaPods/CocoaPods/issues/738 要点是在 Podfile 的开头指定工作区和所有子项目,然后再次为所有目标指定子项目。这正是你所做的!谢谢:)
    • 很好的答案,谢谢!让 pod 在同一个工作区中同时适用于 OS X 和 iOS 项目。
    • 谢谢你,完美的答案!这应该添加到官方文档中!
    • 为什么项目引用指定了两次?而且不能从项目文件中提取平台吗?
    • 哦,原来平台是用来建静态库的。我删除了我所有的顶级 xcodeproj,它说它无法确定使用哪个,所以我只添加了其中一个,它似乎可以工作。
    猜你喜欢
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 2019-04-08
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    相关资源
    最近更新 更多