【问题标题】:how to integrate flurry in ios using swift language如何使用swift语言在ios中集成flurry
【发布时间】:2014-09-13 10:21:35
【问题描述】:

我想使用 swift 语言将 Flurry 集成到 ios 中。 我添加了flurry sdk的两个文件:flurrylib.a和flurry.h,然后在项目TestProject4-Bridging-Header.h中输入了我的api密钥

#import "Flurry.h"

【问题讨论】:

    标签: ios


    【解决方案1】:

    我遇到了同样的问题,添加一个桥接头对我有用。以下是我遵循的步骤。

    注意:如果您已有桥接文件,请跳过步骤 2 至 4

    1. 我将 Flurry 文件夹拖到 XCode 中的 Swift iOS 项目中。
    2. 我通过创建新的 Objective-C 头文件(在 XCode 菜单中为 File/New/File/iOS/Source/Header File)创建了一个桥接头文件
    3. 我将文件名命名为“PROJECTNAME-Bridging-Header.h”(将 PROJECTNAME 替换为您的 XCode 项目名称)
    4. 在 Project Build Settings 中,我搜索了“Swift Compile - Code Generation”,然后在“Objective-C Bridging Header”中输入了我的新桥接文件 (PROJECTNAME-Bridging-Header.h) 的名称以进行调试和发布价值观。
    5. 现在,回到我的桥接头文件中,我引用了 Flurry 头文件。

      #import "Flurry.h"

    6. 在我的 AppDelegate.swift 文件中,我可以使用 Swift 调用 Flurry 方法:

      func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // setup Flurry Flurry.startSession(flurryKey) // replace flurryKey with your own key Flurry.setCrashReportingEnabled(true) // records app crashing in Flurry Flurry.logEvent("Start Application") // Example of even logging

    希望对某人有所帮助。

    【讨论】:

    • 我必须添加 SystemConfiguration.framework 以使其编译无误。
    【解决方案2】:

    在 Swift 中使用 Pod 进行 Flurry 集成

    你需要导入 Flurry SDK 如下

    import Flurry_iOS_SDK
    
     func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
             Flurry.startSession("YOUR_API_KEY")
             Flurry.logEvent("Started Application")
        }
    

    【讨论】:

      【解决方案3】:

      如果您尝试使用 Flurry SDK 6.0.0 在“didFinishLaunchingWithOptions”中记录事件,则由于该版本的 SDK 中存在错误,这是不可能的。然而,可以从这个函数开始一个会话。 Flurry 支持代表告诉我此信息,并在我自己的测试中确认。

      【讨论】:

        【解决方案4】:

        您需要为您的项目添加一个桥接头。在那个桥接头中,你可以在 Swift 中导入你需要的东西,然后你就不需要在其他任何地方导入它了。 iBook 关于同时使用 Swift 和 Obj-C 对此有很好的解释。

        其实苹果的 Swift 博客上有这样的解释:

        为安全起见,您应用的所有组件都应使用相同版本的 Xcode 和 Swift 编译器构建,以确保它们协同工作。

        您可以找到更多信息here

        【讨论】:

        • 我也在做同样的事情,但 Flurry 没有集成错误是没有这样的模块
        • 有一个构建设置“定义模块”。您可能必须将其更改为“是”。此外,我似乎记得在 WWDC 会议上,建议或要求在一次构建中编译项目中的所有内容。这意味着您只能包含源代码与您的 swift-code 一起编译的库,为此您需要 Flurry 的源代码。所以我猜你运气不好。尝试寻找“二进制兼容性 swift”,我相信你会找到答案。
        • 我用一个实际的答案编辑了我的原始答案,以及一个指向哪里可以找到更多信息的链接。
        猜你喜欢
        • 1970-01-01
        • 2017-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-22
        • 1970-01-01
        相关资源
        最近更新 更多