如何使用 Urban AirShip (Swift) 获取 appDelegate

Posted

技术标签:

【中文标题】如何使用 Urban AirShip (Swift) 获取 appDelegate【英文标题】:how to get appDelegate with Urban AirShip (Swift) 【发布时间】:2015-08-16 10:18:48 【问题描述】:

整合Urban Airship后,当我调用

let appDelegate = UIApplication.sharedApplication().delegate as? AppDelegate

我总是得到零。当我尝试获取 UIApplication.sharedApplication().delegate 类时,它告诉我,它现在是 UAAppDelegateProxy。

但是

let appDelegate = UIApplication.sharedApplication().delegate as? UAAppDelegateProxy

也返回 nil。

如何获取我的 appDelegate?

编辑

我想,这只有在 UAConfig 参数 automaticSetupEnabled 设置为 true 时才会发生。当automaticSetupEnabled为false时,我照常获得appDelegate,但我失去了城市飞艇自动配置的优势。

【问题讨论】:

对于任何使用谷歌搜索的人,我都遇到了类似的问题,即使用 Localytics autoIntegrate 函数导致 sharedApplication().delegate 返回一个 LLAppDelegateProxy 而不是真实的东西。删除 Localytics 修复了它。 【参考方案1】:

这是 Urban Airship SDK 中的一个错误,他们已承诺在下一个 SDK 版本中修复。

来自他们的支持:

我们知道这个问题,并希望在我们的 下一个 SDK 版本。同时,作为一种解决方法,手动设置 我们的 SDK 将允许您成功使用 AppDelegate。

【讨论】:

以上是关于如何使用 Urban AirShip (Swift) 获取 appDelegate的主要内容,如果未能解决你的问题,请参考以下文章

如何获取使用 Urban Airship 的 C2DM 授权令牌

无法从 Urban Airship 获得推送通知

Urban Airship 收不到富推

Urban Airship 在呼叫起飞时坠毁

使用 Urban Airship 跟踪活动用户的推送通知

iOS 中的 Urban Airship SDK 集成和推送通知