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 Libraries
到Yes.
- 添加
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(分析)面板上的成功结果