簡體   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