2014-10-22 14 views
24

Сообщение об ошибке:Почему у моих PFAnalytics нет функции trackAppOpeneWithLaunchOptions? (IOS СВИФТ)

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

Все другие аналогичные функции работы, например, trackAppOpenedWithLaunchOptionsInBackground. Похоже, он просто исчезает из списка доступных функций.

Но в моем файле заголовка PFAnalytics.h, trackAppOpenedWithLaunchOptions четко перечислены, как показано ниже:

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

Что может быть не так? Пожалуйста помоги! Я использую swift

ответ

23

Попробуйте

PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground(launchOptions, block: nil) 

вместо

PFAnalytics.trackAppOpenedWithLaunchOptions() 
+1

Это действительно плохая идея, потому что PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground это совершенно другой метод предназначен для различных целей отслеживания фоновых запусков – icant

+0

То же самое. Подробнее здесь: https://parse.com/docs/osx/api/Classes/PFAnalytics.html#//api/name/trackAppOpenedWithLaunchOptionsInBackground:block:. Единственное, что делает блок, это: «Блок для выполнения ответа сервера». Поэтому, если вы установите блок на nil, это в основном то же самое. –

+2

Ниже приведен правильный ответ, если вы хотите ввести код как Objective-C. просто #import в BridgingHeader.h после того, как вы нашли методы, которые не найдены. –

35

Метод объявляется возвращать BFTask * объект, который является частью системы болтов. Удостоверьтесь, что ваш проект связывает рамку болтов, а затем добавьте

#import <Bolts/Bolts.h> 

к вашему мостовому заголовку.

Это решило несколько «недостающих» API-интерфейсы в Swift для меня (это одно, а также PFObject.saveInBackground упоминается здесь:. PFObject does not have a member named 'saveInBackground' in Xcode 6.0.1, Yosemite GM3

+4

Правильный ответ –

+1

Хорошая работа, это работает .... –

7

Нет необходимости в преодолении заголовков, начиная с выпуска 1.0 Чтобы устранить эту проблему, просто добавить , import Bolts в верхней части AppDelegate как таковой:.

import UIKit 

import Parse 
import Bolts 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate 
{ 
... 
} 
+0

Это сработало для меня. Благодарю. – chronon

+1

Это должен быть принятый ответ, на мой взгляд. Благодаря! – Thomas

Смежные вопросы