首页 > 解决方案 > 在我使用 MCEAppDelegate 更新 main.m 文件后,替换为 AppDelegate 类

问题描述

在我使用 MCEAppDelegate 更新 main.m 文件后,替换为 AppDelegate 类。当我尝试通过 Facebook 或 Google 登录时,登录后,它不会回调此方法。

(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {} 你能帮忙检查一下吗?这是我与 IBM 集成所遵循的文档,我的项目由 Objective-C https://developer.ibm.com/customer-engagement/tutorials/configuring-basic-push-services-for-ios-apps/#tocstep1编写

标签: swiftfacebookpush-notification

解决方案


这可能是因为 AppDelegate 不再是 UIApplication 的应用程序的委托,但是您可以继续访问您的 AppDelegate,这要归功于在 MCEAppDelegate 中声明的一个名为 appDelegate 的属性,它可以访问以前在 AppDelegate 中直接访问的所有内容。它已在 MCEAppDelegate 中声明如下:

@property (readonly) id<UIApplicationDelegate> appDelegate;

这是我用来访问 AppDelegate 的快速代码。我在 Swift 中使用 IBMMobilePush 框架,很抱歉给您带来不便。

以前访问过的内容:

UIApplication.shared.delegate as? AppDelegate

现在访问如下:

(UIApplication.shared.delegate as? MCEAppDelegate)?.appDelegate as? AppDelegate

我希望这可以帮助你。


推荐阅读