Swift 城市航空快艇
我试图将UrbanAirship集成到我的项目中,但我遇到以下错误: 2016-08-25 16:26:23.898光纤[7758:368753][E]uuu 52+[UAirship handleappddidfinishlaunchingnotification:][u block_invoke[Line 320]请确保在应用程序之前同步调用[UAirship taunching]:didfishlaunchingwithoptions:returns 任何帮助解决此问题的人都将不胜感激 我的申请代表如下:Swift 城市航空快艇,swift,urbanairship.com,Swift,Urbanairship.com,我试图将UrbanAirship集成到我的项目中,但我遇到以下错误: 2016-08-25 16:26:23.898光纤[7758:368753][E]uuu 52+[UAirship handleappddidfinishlaunchingnotification:][u block_invoke[Line 320]请确保在应用程序之前同步调用[UAirship taunching]:didfishlaunchingwithoptions: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
}
我之前没有使用过Urban Airship SDK,但您发布的错误消息似乎是“在应用程序之前同步调用:didFinishLaunchingWithOptions:returns” 我猜正在发生的是,你在UAirship上调用起飞方法,但didFinishLaunchingMethod在该方法完成之前返回;更可能是因为它正在另一个线程中处理) 尝试使用“dispatch_async”强制在主线程上运行起飞方法,然后传入主队列,例如:
dispatch_async(dispatch_get_main_queue(), {
UAirship.takeOff(config)
})
试试看,希望这能解决问题 您好,感谢您的回复,但我仍然收到相同的错误:(您可以尝试将起飞代码移到FBSDKApplicationDelegate.sharedInstance()应用程序上方(应用程序,didFinishLaunchingWithOptions:launchOptions)打电话看看这是否解决了问题Hi,是的,我试过了,甚至删除parse&FB config也会出现同样的错误。Doh,你能把它改为dispatch\u sync(dispatch\u get\u main\u queue(),{相反,试一试,希望这能解决问题。通常在主队列上调用app delegate方法。我很好奇为什么调用你的app delegate方法这么晚。要解决此问题,你可以尝试在类的load方法中初始化UA: