繁体   English   中英

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

[英]GoogleAnalytics-iOS-SDK on CocoaPods 0.36 with 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

此时,您的代码将无法编译。 您需要手动将其他依赖项添加到目标,包括应用程序和单元测试(如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 AnalyticsSDK中的头文件。 此解决方案并不完美,但避免了仅为Google Analytics添加桥接标头。

我在CocoaPods 0.39.0上遇到了类似的问题。

构建设置'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>

不幸的是,虽然这通过了构建,但我不能在我的项目中使用它。 如果我找到更多,我会更新...

使用桥接标头时,您应该可以使用以下import语句导入Google Analytics iOS SDK:

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

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

import GoogleAnalytics_iOS_SDK

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM