0

在我的 iOS 应用程序中,我想使用 检索对我的应用程序委托的引用[[UIApplication sharedApplication] delegate],但是这是返回类的实例UABaseAppDelegateSurrogate而不是我的自定义UIApplicationDelegate类。

我知道这个代理以某种方式用于接收通知,但我需要这个吗?我的应用程序委托实现了接收通知的所有必要方法,我想绕过这个代理类,以便我可以在我的自定义应用程序委托上调用方法。我不知道什么时候开始发生这种情况,但我曾经从[[UIApplication sharedApplication] delegate].

4

2 回答 2

1

我认为它是您框架中的应用程序委托。看一下 main.m 文件,UIApplicationMain 是怎么调用的?3d 参数是应用程序类,第 4 个是应用程序委托类。但是,如果您将其更改为您的自定义委托类,您可能会失去框架的功能。因此,您需要更深入地研究UABaseAppDelegateSurrogate-也许您可以对其进行子类化?还是完全摆脱它?

于 2013-09-30T16:00:43.640 回答
0

来自 Urban Airship 文档:

Urban Airship 库将自动与您的应用程序集成,因此您无需实现任何与推送相关的 UIApplicationDelegate 协议方法或向库传递通知。该库可以通过将自己设置为应用程序代理、拦截消息并将它们转发给您的原始应用程序代理来实现此目的。如果您想禁用此行为并在您自己的委托中实现委托回调,您可以在 AirshipConfig.plist 文件或传递给 [UAirship takeOff:(UAConfig *)config] 的 UAConfig 对象中将 automaticSetupEnabled 设置为 NO;

于 2013-10-21T18:19:11.940 回答