首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GoogleAnalytics-iOS-SDK on CocoaPods 0.36 with Swift

GoogleAnalytics-iOS-SDK on CocoaPods 0.36 with Swift
EN

Stack Overflow用户
提问于 2015-03-01 18:02:05
回答 4查看 4.2K关注 0票数 8

有人知道如何用CocoaPods 0.36为Swift写桥头吗?

我试过这些方法。

(1)

代码语言:javascript
代码运行次数:0
运行
复制
#import <GoogleAnalytics-iOS-SDK/GAI.h>

=>这是CocoaPods0.35风格。编译失败。

(2)

代码语言:javascript
代码运行次数:0
运行
复制
#import <GoogleAnalytics-iOS-SDK/GoogleAnalytics-iOS-SDK/GAI.h>

=>无法编译。

(3)

代码语言:javascript
代码运行次数:0
运行
复制
#import "../Pods/GoogleAnalytics-iOS-SDK/GoogleAnalytics/Library/GAI.h"

=>它可以被编译。但链接失败。

EN

回答 4

Stack Overflow用户

发布于 2015-04-28 07:07:50

遵循以下步骤,我成功地通过Cocoapods将Google Analytics Swift SDK3.10包含到我的iOS项目中。

在Podfile add (注意use_frameworks!)上:

代码语言:javascript
代码运行次数:0
运行
复制
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导入部分中添加:

代码语言:javascript
代码运行次数:0
运行
复制
import GoogleAnalytics_iOS_SDK

application didFinishLaunchingWithOptions方法中添加:

代码语言:javascript
代码运行次数:0
运行
复制
    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并不包括这一点。如果不添加此文件,链接器将失败,并显示以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
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添加桥接头的要求。

票数 15
EN

Stack Overflow用户

发布于 2015-12-29 12:17:59

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

在生成设置'OTHER_LDFLAGS‘中的$(继承)解决了这个问题。

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

票数 1
EN

Stack Overflow用户

发布于 2015-03-18 03:05:25

现在也有同样的问题...

我通过使用以下命令让桥接头正常工作:

代码语言:javascript
代码运行次数:0
运行
复制
#import <GoogleAnalytics_iOS_SDK/GAI.h>
#import <GoogleAnalytics_iOS_SDK/GAITrackedViewController.h>
#import <GoogleAnalytics_iOS_SDK/GAIDictionaryBuilder.h>
#import <GoogleAnalytics_iOS_SDK/GAIFields.h>

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28792243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档