2014-09-08 2 views
2

Я нахожу эту ошибку в своем файле AppDelegate.swift и появляется в функции AppDidFinishLaunchingWithOptions. Он поднимает ошибку в строке кода, которая находится из структуры Parse.«AnyObject» не идентичен «[NSObject: AnyObject]»

PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 

Ошибка появляется на параметре launchOptions. Я опубликую всю функцию, чтобы показать, что она должна быть правильной. Также, когда я прокомментирую строку кода, ошибка исчезает, но я все же действительно хочу использовать эту функцию и отслеживать аналитику. Вот и вся функция:

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: AnyObject!) -> Bool 
{ 
    // Override point for customization after app launches 
    Parse.setApplicationId("removed on purpose", clientKey: "removed on purpose") 
    PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 
    PFFacebookUtils.initializeFacebook() 

    return true 
} 

Я не могу найти ничего, что связано с этой ошибкой. Если у кого-то есть понимание, я бы очень признателен!

ответ

2

С Xcode 6 бета-7, когда вы хотите позвонить application:didFinishLaunchingWithOptions:, вы должны заменить:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 
    /* ... */ 
} 

с следующий код:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    /* ... */ 
} 

Последний параметр этого метода не более NSDictionary, а Словарь типа [NSObject: AnyObject]?. Поэтому вы должны обновить свой код (включая тип параметра trackAppOpenedWithLaunchOptions:).

+0

Спасибо! Это было немедленно исправлено. Я вижу, что они, должно быть, изменили параметр с помощью бета-обновления. Я забыл упомянуть в вышеупомянутом сообщении, что он работал в предыдущих бета-версиях. Спасибо за быстрый ответ! – SamG

1

Параметр launchOptions должен быть объявлен как NSDictionary! вместо AnyObject!:

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { 
    // ... 
} 
Смежные вопросы