2014-12-19 2 views
1

Попытка получить доступ к экземпляру AppDelegate, но не выполнена с swift_dynamicCastClassUnconditional."UIApplication.sharedApplication(). Delegate" swift_dynamicCastClassUnconditional

class AppDelegate: UIResponder, UIApplicationDelegate { 
    class func getInstance() -> AppDelegate { 
     let delegate = UIApplication.sharedApplication().delegate; 
     return delegate as AppDelegate; 
    } 
    ........ 
} 

Любая идея? Благодарю.

+0

Когда вы вызываете 'getInstance()'? Показать вызов в его контексте. – matt

+1

Кроме того, _is_ AppDelegate является фактическим классом вашего делегата приложения? – matt

+1

Ваш код отлично работает, когда я запускаю его. Поэтому вы должны запускать его в неподходящее время или в неправильном классе. Или что-то. Но никто не знает, что именно вы делаете неправильно, пока не сообщите запрошенную дополнительную информацию. – matt

ответ

1

Оказывается, это вызвано библиотекой Urbanairship. Когда приложение инициализировано, я вызвал api

var uaconfig = UAConfig.defaultConfig() as UAConfig 
    UAirship.setLogLevel(UALogLevel.Debug) 
    UAirship.takeOff(uaconfig) 
    UAPush.shared().userNotificationTypes = UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound 
    UAPush.shared().userPushNotificationsEnabled = true 

После того как я удалил код выше, все в порядке.

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