Google 分析 Swift 3 iOS 9

Google Analytics with Swift 3 iOS 9

我试图找到有关如何将 Google Analytics 与 Swift 3 一起使用的信息,即使看起来有些人成功了,我也无法自己实现。

Google Analytics 文档没有帮助,它仅适用于 Swift 2.

我在 3.17.0 版中使用了 pod "Google/Analytics" 并尝试将这一行添加到桥接头文件中,正如有人提到的那样:

#import <Google/Analytics.h>

但是我收到一个关于 Xcode 的错误,抱怨桥接头不适用于 Swift 3.

然后我尝试在 .h 中添加与另一个 post 建议相同的行,但都不起作用,Xcode 抱怨 "Include of non-modular header inside framework module XXX"。

我尝试将“允许框架模块中的非模块化包含”设置为“是”,但它没有任何改变,仍然出现相同的错误。

我最后尝试的是添加:

import Google

在我使用 Google Analytics 的文件中,但现在无法识别 GAI。

// Configure tracker from GoogleService-Info.plist.
var configureError: NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")

// Optional: configure GAI options.
guard let gai = GAI.sharedInstance() else {
    assert(false, "Google Analytics not configured correctly")
}
gai.trackUncaughtExceptions = true  // report uncaught exceptions
gai.logger.logLevel = GAILogLevel.verbose  // remove before app release

有什么建议吗?

按照以下步骤配置 Google Analytics

  1. 在 Google Analytics 上创建项目并下载配置文件 "GoogleService-Info.plist".
  2. 使用 pods 为您的项目安装 Google Analytics(确保终端中显示错误)
  3. 清除并关闭您的项目,然后导航到您的项目文件夹并打开“XXX.xcworkspace”而不是“XXX.xcodeproj".
  4. 然后将“GoogleService-Info.plist”添加到您的项目中(如果需要请勾选复制选项)。
  5. 在您的项目中创建一个桥接文件,如果已经存在则无需重新创建它。

    5.1。要创建桥接文件,最简单的方法是 add/create new objective-c class 到项目,然后会弹出一个选项,要求您创建一个桥接文件,并通过以下方式设置所有设置默认。

  6. 打开通常命名为“YourProjectName-Bridging-Header.h”的桥接文件并将其复制到其中" #import <Google/Analytics.h> "
  7. 打开“AppDelegate.swift”,将下面的代码复制粘贴到didFinishLaunchingWithOptions中设置分析跟踪器

    // Configure tracker from GoogleService-Info.plist.
    var configureError: NSError?
    GGLContext.sharedInstance().configureWithError(&configureError)
    assert(configureError == nil, "Error configuring Google services: \(configureError)")
    
    // Optional: configure GAI options.
    guard let gai = GAI.sharedInstance() else {
      assert(false, "Google Analytics not configured correctly")
    }
    gai.trackUncaughtExceptions = true  // report uncaught exceptions
    gai.logger.logLevel = GAILogLevel.verbose  // remove before app release
    
  8. 构建您的项目。

我希望它能工作,如果有任何问题,请告诉我。

我遇到了同样的问题。我无法导入 "Google/Analytics.h" header,因为 Xcode 会生成错误。因为 "Google/Analytics.h" header 在 Google 的官方页面中提到的 'GoogleAnalytics sdk' 中不可用。 所以,我只是在 AppDelegete.m 文件

中使用了以下行
#import "AppDelegate.h"
#import "GAI.h"

希望一切顺利。环境 Xcode: 8.2 iOS :10.2