如何在我自己的 Cocoa Pod 框架中添加 Google Map Cocoa Pod

Posted

技术标签:

【中文标题】如何在我自己的 Cocoa Pod 框架中添加 Google Map Cocoa Pod【英文标题】:How to add Google Map Cocoa Pod in my own Cocoa Pod Framework 【发布时间】:2017-06-29 10:51:30 【问题描述】:

我正在创建一些框架并使用可可豆荚进行分发。我需要在我的框架中使用 GoogleMap Cocoa Pod。我将如何添加它们。

我已经在我的 podspec 文件中添加了 s.dependency 'GoogleMaps',但它会在使用我的 cocoapod 的应用程序中安装 cocoa pod。如何在我的框架中使用 GoogleMaps 功能。我正在用 Swift 开发它,

【问题讨论】:

【参考方案1】:

这是我的旧框架中的 Podfile,我在其中使用了私有 pod 和公共 pod。 Podfile 应该像您制作的任何项目一样正常。

platform :ios, '8.0'
use_frameworks!

workspace "SampleApp"
project "FrameworkName.xcodeproj"

# Private pods Spec repository
source 'https://path_to_your_private_pods'
# Public spec repository
source 'https://github.com/CocoaPods/Specs.git'

target :FrameworkName do
    xcodeproj "FrameworkName.xcodeproj"

   // PUBLIC PODS 
   pod 'GoogleMaps'

   // PRIVATE PODS 
   pod 'PrivatePod', :git => 'git@path_to_your_private_pod', :branch => 'branch-name'
end

(您可以将其更新为较新的 sintax)

此外,您必须创建 podspec 文件,在其中定义您的依赖关系:

Pod::Spec.new do |spec|
  spec.name             = 'SampleApp'
  spec.version          = '0.1.0'
  spec.license          =  :type => 'BSD' 
  spec.homepage         = 'http://www....'
  spec.authors          =  'Author' => 'Email' 
  spec.summary          = 'Summary'
  spec.source           =  :git => 'https://PATH_TO_REPOSITORY', :tag => spec.version.to_s 
  spec.source_files     = 'SampleApp'
  spec.requires_arc     = true
  spec.ios.deployment_target = '8.0'
  spec.resources        = ["some_path_to_resources/*.png"]

  spec.dependency 'GoogleMaps'
end

Podspec spec.dependency 部分是最重要的,因为您的所有框架依赖项都会从中读取。

【讨论】:

我在 podspec 文件中做了同样的事情,我的问题是如何在我自己的框架中使用谷歌地图。假设我的框架是实用程序,我想在我的框架中赋予地图功能。所以我需要使用谷歌地图在我的框架中编写一些代码。但是我该如何添加它们呢? 你可以使用所有的谷歌地图框架功能......它不会是可构建的,因为在安装框架时添加了依赖项(你必须首先将你的框架作为一个 pod 添加到你的项目中,例如,并且在那一刻将安装谷歌地图吊舱)但所有功能都应该在那里...... 所以你的意思是说我需要添加 podfile,我需要首先在我的框架中定义 GoogleMap 依赖项 1) 将具有 google map 依赖项的 podfile 添加到框架中 2) 添加定义该依赖项的 podspec 文件 3) 编写框架(它不会是可构建的,因为依赖项是在后期添加的) 4) 你将你的框架添加到带有 cocoapods 的真实项目中,例如,它在那一刻是可构建和可用的......希望我现在很清楚 最后一件事,当我在示例项目中添加 pod install 时,它显示没有找到 GoogleMaps,因为它的源文件未导入框架中

以上是关于如何在我自己的 Cocoa Pod 框架中添加 Google Map Cocoa Pod的主要内容,如果未能解决你的问题,请参考以下文章

带有 Core Data 的 Cocoa pod 在消费应用程序中找不到实体

cocoa pod

cocoa pods

使用 Cocoa pod 设置 RealmSwift

核心数据到 Cocoa Touch 框架

如何在iOS中构建Cocoa触摸框架?