2016-08-25 10 views
1

Я пытаюсь интегрировать UrbanAirship в моем проекте, но я получаю следующее сообщение об ошибке:UrbanAirship Swift

2016-08-25 16:26:23.898 Fibre[7758:368753] [E] __52+[UAirship handleAppDidFinishLaunchingNotification:]_block_invoke [Line 320] Please ensure that [UAirship takeOff] is called synchronously before application:didFinishLaunchingWithOptions: returns

Любая помощь в решении этого была бы оценена!

Мое приложение делегат, как, как показано ниже:

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

     // Override point for customization after application launch. 
     FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 

     let configuration = ParseClientConfiguration { (configuration) -> Void in 

      configuration.applicationId = "******"     
      configuration.clientKey = "*****" 
      configuration.server = "https://*****.herokuapp.com/parse"  

     } 

     Parse.initializeWithConfiguration(configuration) 

     let config: UAConfig = UAConfig.defaultConfig() 
     UAirship.takeOff(config) 

     return true 
    } 

ответ

1

Я не использовал Urban дирижабль SDK перед собой, но происходит от сообщения об ошибке, что вы разместившего ключ немного, кажется, «называется Синхронно перед приложением: didFinishLaunchingWithOptions: возвращает ".

Я бы предположил, что вы вызываете метод takeOff на UAirship, но didFinishLaunchingMethod возвращается до завершения этого метода; Скорее всего, потому, что он обрабатывается в другом потоке).

Try заставляя метод ВЗЛЕТНОГО для запуска на главном потоке с «dispatch_async», а затем переходя в основную очередь, таких как:

dispatch_async(dispatch_get_main_queue(), { 
    UAirship.takeOff(config) 
}) 

Попробуйте, что из, мы надеемся, что будет исправить эту проблему.

+0

Привет, спасибо за ответ, но я все равно получаю ту же ошибку :( – MattBlack

+0

Вы можете попробовать переместить код takeOff над вызовом FBSDKApplicationDelegate.sharedInstance(). Application (application, didFinishLaunchingWithOptions: launchOptions) и посмотреть, исправляет ли это issue –

+0

Привет, Yea Я пробовал это и даже удалять конфигурацию parse & FB по-прежнему дает ту же ошибку. – MattBlack