![](/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.