swift - 在我使用 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编写
解决方案
这可能是因为 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
我希望这可以帮助你。
推荐阅读
- python-3.x - 在熊猫中将几个替换语句组合成一个
- java - java - 在构造函数中创建时,如何在java中关闭ExecuterService..?
- java - 如何使用java Process知道文件是否关闭
- qt - QtQuick 2 中 BusyIndicator 的高 CPU 使用率
- java - 验证注释约束不起作用
- php - $_POST 给出索引未定义..如何解决?
- django - Docker 错误:找不到 env 文件:/home/sam/code/docker/.env.dev
- blueprism - 我们真的需要 RPA 来实现 Excel 自动化吗,就像使用 Excel VBA 脚本可以实现的一样?
- kubernetes - 无法删除没有部署的 Kubernetes 服务
- c# - 如何使用 append.text 连接格式化字符串?