【问题标题】:Why does my PFAnalytics not have trackAppOpeneWithLaunchOptions function? (IOS SWIFT)为什么我的 PFAnalytics 没有 trackAppOpeneWithLaunchOptions 功能? (IOS 斯威夫特)
【发布时间】:2014-10-22 09:06:40
【问题描述】:

错误信息:

    'PFAnalytics.Type' does not have a member named 'trackAppOpenedWithLaunchOptions'

所有其他类似的功能都可以工作,例如trackAppOpenedWithLaunchOptionsInBackground。看起来它只是从可用函数列表中消失了。

但是在我的PFAnalytics.h头文件中,trackAppOpenedWithLaunchOptions是明确列出的,如下图:

    + (BFTask *)trackAppOpenedWithLaunchOptions:(NSDictionary *)launchOptions;

可能出了什么问题?请帮忙!我正在使用swift

【问题讨论】:

    标签: swift parse-platform


    【解决方案1】:

    该方法被声明为返回一个BFTask * 对象,它是Bolts 框架的一部分。确保您的项目正在链接 Bolts 框架,然后添加

    #import <Bolts/Bolts.h>
    

    到您的桥接头。

    这为我解决了 Swift 中一些“缺失”的 API(这个,以及这里提到的 PFObject.saveInBackgroundPFObject does not have a member named 'saveInBackground' in Xcode 6.0.1, Yosemite GM3

    【讨论】:

      【解决方案2】:

      试试

      PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground(launchOptions, block: nil)
      

      而不是

      PFAnalytics.trackAppOpenedWithLaunchOptions()
      

      【讨论】:

      • 这实际上是个坏主意,因为 PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground 是一种完全不同的方法,用于跟踪后台启动的不同目的。
      • 是一样的。更多信息在这里:parse.com/docs/osx/api/Classes/PFAnalytics.html#//api/name/…: 。块做的唯一事情是:“在服务器响应上执行的块。”所以如果你设置block为nil,基本一样。
      • 如果您想像 Objective-C 一样编写代码,则以下答案是正确的。在找到未找到的方法后,只需在 BridgingHeader.h 中 #import 即可。
      【解决方案3】:

      自 1.0 版起不再需要桥接头。要解决此问题,只需在您的AppDelegate 顶部添加import Bolts,如下所示:

      import UIKit
      
      import Parse
      import Bolts
      
      @UIApplicationMain
      class AppDelegate: UIResponder, UIApplicationDelegate
      { 
      ...
      }
      

      【讨论】:

      • 我认为这应该是公认的答案。谢谢!
      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2020-08-24
      • 2016-02-09
      • 2017-01-23
      • 2016-09-19
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多