swift - 使用桥接头创建 Pod

标签 swift xcode cocoapods newrelic

我正在尝试创建一个以“AAnalytics”作为子空间的 pod APod。 ''AAnalytics' 具有多个依赖项,例如 FirebaseNewRelic。下面是 podspec 的样子:

Pod::Spec.new do |s|
  s.name             = 'APod'
  s.version          = '0.3.5'
  s.summary          = 'summary'
  s.ios.deployment_target = '9.0'
  s.tvos.deployment_target = '9.0'
  s.watchos.deployment_target = '2.0'
  s.static_framework = true
  s.source_files = 'APod/Classes/*'

  #### Subspec ####
  s.subspec 'AAnalytics' do |ss|
    ss.pod_target_xcconfig = { 'DEFINES_MODULE' => 'Yes' }
    ss.source_files = 'Classes/AAnalytics/*'
    ss.dependency 'NewRelicAgent', '~> 5.15.0'
    ss.dependency 'Analytics', '~> 3.6.0'
    ss.dependency 'Segment-Adjust', '~> 1.1.3'
    ss.dependency 'FBSDKCoreKit', '~> 4.27.1'
    ss.dependency 'Firebase/Core', '~> 4.4.0'
  end
end

AAnalytics中,它只有一个类AAnalytics.swift,它有一个依赖pod的包装方法。除 NewRelicAgent 外,一切正常。我无法在 Analytics.swift 中导入和使用 NewRelicAgent。但是,我可以在主项目中使用桥接 header 使用 NewRelicAgent

我搜索了一段时间后,发现Xcode并没有为NewRelicAgent创建module.modulemap文件(或者应该包含在NewRelicAgent pod中)。

enter image description here

正如您在上面看到的,FirebaseAnalytics 具有“Modules/module.modulemap”。

enter image description here

但是 NewRelicAgent 没有路径和文件。

我读过这个article如果 DEFINES_MODULE = Yes 并且有一个与框架同名的伞形 header ,Xcode 似乎会创建 module.modulemap 文件。

我缺少什么以及我应该如何使用 AAnalytics.swift 中的 NewRelicAgent?我正在使用 cocoapods 1.4.1 beta 2

最佳答案

Xcode 不会为二进制框架生成 module.modulemap 文件。 NewRelicAgent 是一个 vendored_framework binary CocoaPod不包括模块映射。其他 CocoaPod 在其框架内包含一个 module.modulemap

如果您执行 find 。 | grep module.modulemap,您会看到项目中其他具有公共(public) API 的二进制 CocoaPods 包含一个 Modules/module.modulemap 文件。

关于swift - 使用桥接头创建 Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960842/

相关文章:

swift - 如何检索谷歌地图中的缩放级别?

swift - 在具有圆角边缘的弧形中绘制渐变颜色

objective-c - 调用 popToRootViewController 动画导致崩溃。我应该怎么做?

xcode - GoogleAnalytics - 快速错误

react-native - 对于私有(private)托管的 React-Native 库,podspec 中的 "source"应该是什么?

ios - 无法构建 Objective-C 模块 'CoreGraphics'

ios - Swift - 从模型中的 API 调用返回一个 JSON 对象作为字典以在 View Controller 中使用

iphone - 使用动画修改 imageView 的宽度

xcode - 在 XCode 4 中更改源文件编码

Swift 2.0 按值传递