【问题标题】:Working with Cocoapods + WatchOS 2 target使用 Cocoapods + WatchOS 2 目标
【发布时间】:2015-12-28 23:02:39
【问题描述】:

我有一个包含很多 pod 的 iOS 项目,大约 20 个。我想在其中集成一个 watchOS 2 应用程序,但 CocoaPods 要求 podspec 包含对 watchOS 的支持(如此处所示:http://blog.cocoapods.org/CocoaPods-0.38/

起初,我以为我可以分叉所有未更新的 pod,将我的 podfile 指向那些分叉的存储库,并且 bob 是你的叔叔。问题是我正在使用的一些 pod 是封闭的/不公开的。有没有办法让我不为 watchOS 目标构建主应用程序的 pod?像这样使用目标隔离?:

target "Watch" do end

我似乎无法构建该 ^ 潜在解决方案,因为它仍在尝试构建 pod。我也试过这个 repo,没有运气:https://github.com/orta/cocoapods-expert-difficulty

【问题讨论】:

    标签: cocoapods watchkit apple-watch watchos-2


    【解决方案1】:

    有两种方法可以使用 podfile 与 WathOS 集成 pod。

    1) 直接添加必需的 pod 来观看扩展,如下所示。

    target '<your watch Extension Name>' do
    
    platform :watchos, '2.0'
    pod 'RealmSwift'
    pod 'Alamofire'
    pod 'MMWormhole', '~> 2.0.0'
    
    end 
    

    2) 创建共享 pod 并同时添加到手表扩展和 iOS 目标。

    def sharedPods
        pod 'RealmSwift'
        pod 'Alamofire'
    end
    
    target '<your watch Extension Name>' do
    platform :watchos, '2.0'
       sharedPods
    end
    
    
    target '<your iOSApp Name>' do
    platform :ios, '8.0'
       sharedPods
    end
    

    sharedPods 中仅添加支持 watchOS 和 iOS 的 Pod, 不要在不支持 watchOS 的sharedPods 中添加 pod。 例如

    def sharedPods
            pod 'RealmSwift'
            pod 'Alamofire'
            pod 'otherWatchOS&iOS supported Pod1'
            pod 'otherWatchOS&iOS supported Pod2'
        end
    

    target '&lt;your iOSApp Name&gt;' 中仅添加 iOS 支持的 Pod 例如

    target '<your iOSApp Name>' do
    platform :ios, '8.0'
       sharedPods
       pod 'otherOnlyiOS supported Pod1'
       pod 'otherOnlyiOS supported Pod2'
    end
    

    因此,您可以通过这种方式为所需目标添加所需的 pod。

    【讨论】:

    • 这就是我尝试过的。我正在谈论的问题是,我使用的许多 pod 在其 pod 规范中不支持 watchOS。因此,如果我以您描述的任何一种方式使用它们,可可豆荚会引发错误,指出豆荚不支持 watchOS。有没有办法用所有的 pod 构建主应用程序,但构建没有 pod 的 watchOS 目标?
    • 请根据您的要求检查已编辑的答案。
    【解决方案2】:

    我发现了我的问题!我在 Watch 代码中使用了 Swift,但我的父应用程序在 Obj-c 中。认为这不会是一个问题,除了 watch 目标尝试编译我在我的主应用程序中使用的 Swift 桥接头,这是导致这些 pod 不必要地构建的原因。因此,解决方案是为您的 Watch 目标指定不同的桥接头或使用 Obj-c!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多