GoogleAnalytics-iOS-CocoaPods 0.36与Swift

任何人都知道如何用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 

application didFinishLaunchingWithOptions方法中添加:

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

在这一点上,你的代码将不会编译。 您需要手动将其他依赖项添加到您的目标,包括应用程序和unit testing(如https://developers.google.com/analytics/devguides/collection/ios/v3/#headers所&#x793A; )。

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

注意libGoogleAnalyticsServices.a 。 出于某种原因,使用框架时,Cocoapods不包括这个function。 不添加此文件,链接器将失败,并出现以下错误:

 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拖到我的项目中,确保它已添加到两个目标和“复制”checkbox被检查。

在这里输入图像说明

在添加文件和其他提到的依赖关系之后,项目就可以正确构build。

看起来好像Cocoapods只包含Google Analytics SDK中的头文件。 这个解决scheme并不完美,但是避免了为Google Analytics添加桥接标题。

我在CocoaPods 0.39.0有一个类似的问题。

$(inheritance)在构build设置“OTHER_LDFLAGS”解决了它。

https://stackoverflow.com/a/32004207/3129306

目前有同样的问题

我使用了桥接头来工作:

 #import <GoogleAnalytics_iOS_SDK/GAI.h> #import <GoogleAnalytics_iOS_SDK/GAITrackedViewController.h> #import <GoogleAnalytics_iOS_SDK/GAIDictionaryBuilder.h> #import <GoogleAnalytics_iOS_SDK/GAIFields.h> 

不幸的是,虽然这通过构build,我不能在我的项目中使用它。 我会更新,如果我发现更多…

在使用桥接标头时,您应该能够使用以下导入语句来导入Google Analytics iOS SDK:

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

如果您使用pod作为框架(通过在您的podfile中设置“use_frameworks!”),则不需要桥接文件。 在Swift类中,您只需使用以下语句导入它:

 import GoogleAnalytics_iOS_SDK 

如果这不起作用,我认为你的项目设置有问题。 要解决这个问题,我需要更多的信息。