使用Swift的CocoaPods 0.36上的GoogleAnalytics-iOS-SDK

任何人都知道如何使用CocoaPods 0.36为Swift编写桥接头?

我试过这些方法.

(1)

#import <GoogleAnalytics-iOS-SDK/GAI.h>

=>这是cocoapods 0.35风格.无法编译.

(2)

#import <GoogleAnalytics-iOS-SDK/GoogleAnalytics-iOS-SDK/GAI.h>

=>无法编译.

(3)

#import "../Pods/GoogleAnalytics-iOS-SDK/GoogleAnalytics/Library/GAI.h"

=>它可以被遵守.但链接失败.

我设法通过Cocoapods将Google Analytics iOS SDK 3.10成功地包含在我的Swift项目中,并按照这些步骤使用框架.

在Podfile上添加(注意use_frameworks!):

source 'https://github.com/CocoaPods/Specs.git'
platform :ios,'8.0'
use_frameworks!

target "XXXX" do
    pod 'GoogleAnalytics-iOS-SDK','~> 3.10'
end

target "XXXXTests" do
    pod 'GoogleAnalytics-iOS-SDK','~> 3.10'
end

在AppDelegate导入部分添加

import GoogleAnalytics_iOS_SDK

在应用程序didFinishLaunchingWithOptions方法添加

GAI.sharedInstance().trackUncaughtExceptions = true
    GAI.sharedInstance().dispatchInterval = 20
    GAI.sharedInstance().logger.logLevel = GAILogLevel.Verbose
    GAI.sharedInstance().trackerWithTrackingId("XXXX")
    GAI.sharedInstance().defaultTracker.allowIDFACollection = true

此时,您的代码将无法编译.您需要手动将其他依赖项添加到目标,包括应用程序和单元测试(如https://developers.google.com/analytics/devguides/collection/ios/v3/#headers所示).

> CoreData.framework
> SystemConfiguration.framework
> libz.dylib
> libsqlite3.dylib
> libGoogleAnalyticsServices.a

请注意libGoogleAnalyticsServices.a.出于某种原因,Cocoapods在使用框架时不包括内容.如果不添加文件,链接器将失败并显示以下错误

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GAI",referenced from: __TMaCSo3GAI in AppDelegate.o

为了添加它,我手动下载了SDK(从此页面https://developers.google.com/analytics/devguides/collection/ios/resources)并将libGoogleAnalyticsServices.a拖到我的项目中,确保它已添加到两个目标并选中了“复制”复选框.

添加文件和其他提到的依赖项后,项目正确构建.

好像Cocoapods只包含Google Analytics SDK中的标题文件.此解决方案并不完美,但无需为Google Analytics添加桥接标头.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...