2017-01-21 25 views
1

我试图找到有关如何使用谷歌分析与斯威夫特3的信息,即使它看起来像一些人成功,我不能让它自己工作。谷歌分析与斯威夫特3 iOS 9

的谷歌Analytics(分析)文档没有帮助,这只是针对雨燕2.工作

我用荚“谷歌/分析”中3.17.0版本,并尝试添加桥接报文件中这一行一些人提到:

#import <Google/Analytics.h> 

但我得到一个错误约Xcode的抱怨桥接头不与斯威夫特3.

工作,然后我试图添加.H内的同一行另一篇文章建议,但也不工作,Xcode抱怨“在框架模块XXX中包含非模块化标题”。

我试图设置“允许非模块化包括框架模块,YES,但它不会改变任何东西,仍然得到了同样的错误

最后一件事我想是添加:

import Google 

,我使用谷歌分析,但现在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 

有什么建议?

+0

imo,你已经做了你的尽职调查,有些东西与框架一起讨厌。考虑提交一个错误谷歌? –

回答

7

按照以配置谷歌分析

  1. 创建在谷歌Analytics(分析)的项目,并下载配置文件“GoogleService-Info.plist中”这些步骤。
  2. 使用吊舱安装Google Analytics给您的项目(请确保知道错误显示在终端中)
  3. 清除并关闭您的项目,然后导航至您的项目文件夹并打开“XXX.xcworkspace”而不是“XXX.xcodeproj”。
  4. 然后将“GoogleService-Info.plist”添加到您的项目中(如果需要选项,请检查副本)。
  5. 如果已经有一个存在,则在您的项目中创建一个桥接文件,然后不需要重新创建它。

    5.1。要创建桥接文件,最简单的方法是向项目添加/创建新的objective-c类,并弹出选项,要求您创建桥接文件,并默认设置所有设置。

  6. 打开桥接文件通常命名为 “为yourprojectname桥接-Header.h”,并在其" #import <Google/Analytics.h> "
  7. 打开“AppDelegate中复制此。迅速“复制并粘贴在didFinishLaunchingWithOptions下面的代码来设置Analytics(分析)跟踪

    // 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. 生成项目。

我希望它的作品,如果有任何问题然后让我知道。

+0

我发现它之前没有工作,我试图在框架内使用它,而不是“最终”目标,所以我必须在最终产品中实现GAI,并在框架内部扩展一个类以使用它是我的应用程序的共享部分)。 谢谢! – Comawoot

+0

有没有办法使用它没有桥头,但直接在swift类中使用模块导入? – nikmin

+0

为什么Google无法正确支持自己的产品?官方指令只是误导了每个必须继续使用Google Analytics的用户。 –

0

我面临同样的问题。我不能imp由于Xcode生成错误,所以请将“Google/Analytics.h”标头放在一边。因为Google官方页面中提到的“GoogleAnalytics sdk”中没有“Google/Analytics.h”标头。 在AppDelegete.m所以,我只是用下面一行文件

#import "AppDelegate.h" 
#import "GAI.h" 

希望它会工作得很好。环境Xcode:8.2 iOS:10.2

+0

看起来你正在使用Obj-C,所以我认为我使用Swift 3后面临的问题有所不同。有时导入Obj-C库可能是一件非常痛苦的事情。 – Comawoot