![](/img/trans.png)
[英]Can't find headers for GoogleAnalytics-iOS-SDK with Cocoapods 0.37, Swift, frameworks
[英]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所示 )。
请注意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'中的$(继承)解决了它。
目前有同样的问题......
我通过使用以下方式使用桥接头工作:
#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.