Swift框架中的Google Analytics(分析)

我的目标是创建一个私有的Cocoapods,将Google Analytics(分析)包装起来供团队使用。 这是我如何制作的演示。 您可以在下面看到我的项目。

ji3g4kami / GAReporter

Google Analytics(分析)包装。 通过在GitHub上创建一个帐户为ji3g4kami / GAReporter开发做出贡献。

github.com

不使用依赖

最初我想在我的GAReporter.podspec文件中使用s.dependency = 'GoogleAnalytics' 。 第一个障碍是桥接标头在iOS项目中有效,但在框架中无效。 但是,在pod install之后,无法使用上面链接中提供的module.modulemap的解决方案。

在参考了Stanwood_Analytics_iOS和Challenges构建一个Swift框架(C ++,Objective C和Swift)之后,我得到了我的解决方案:直接将Google Analytics(分析)添加到Objective-C和Swift的混合框架中。

环境设定

  • 设置Swift框架
  • 添加.gitignore许可
  • 推送到您的远程存储库

导入Google Analytics(分析)

  • 制作一个伪造的Single View iOS项目,并安装Google Analytics(分析)。 将整个Google Analytics(分析)复制到GAReporter。
  • 添加必需的Google Analytics(分析) Linked Frameworks and Libraries

创建自定义module.modulemap

  • 在构建设置中添加Module Map File 。 将“ Defines Module Yes设置为“ Yes

如果您现在进行构建,则会Header not found错误

  • 在构建设置中添加Header Search Paths可解决此问题。

创建Swift框架内容

  • Always Embed Swift Standard LibrariesYes.
  • 添加Import Paths以避免构建错误
  • 编写框架内容

默认情况下,这将安装主版本。 如果您的队友要使用特定版本,例如0.0.2,请使用:

  pod'GAReporter',:git =>'https://github.com/ji3g4kami/GAReporter.git',:tag =>'0.0.2' 

[注意] use_framework! 因为自定义模块映射在静态库中也不支持,所以将是必需的。

测试一下

AppDelegate.swift中

ViewController.swift中

控制台成功结果

Google Analytics(分析)面板上的成功结果