gpt4 book ai didi

ios - 向 AppDelegate 添加类别以实现 UIAplicationDelegate 协议(protocol)中的方法

转载 作者:行者123 更新时间:2023-11-28 23:26:36 28 4
gpt4 key购买 nike

我正在开发一个Cocoa Touch框架,我想从APNS接收远程通知,我发现(在与APNS建立通信所需的所有过程之后)我必须在application:didReceiveRemoteNotification:fetchCompletionHandler:内捕获通知方法。但是,我想让 IOS 开发人员少做一些工作,所以我一直在想。

  • 是否可以在我的框架内创建 AppDelegate 的类别(因为它创建新应用程序时已经有扩展)以便实现这个方法吗?

最佳答案

我会说不需要。您可以在此处使用与 application:didReceiveRemoteNotification:fetchCompletionHandler: 中相同的参数在您的代码中创建一些函数,并使其可供可能的开发人员从您的框架中调用。

许多框架都以这种方式工作,例如 FacebookSDK。例如,我在 AppDelegate 中用于打开/处理 URL 的代码:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let fbHandled: Bool = ApplicationDelegate.shared.application(app,
open: url,
sourceApplication: options[.sourceApplication] as? String,
annotation: options[.annotation])
return fbHandled
}

您可以看到 Facebook 只是为我提供了一些公共(public)方法来处理其 SDK 中的链接。与隐式处理开发人员可能需要了解并可用于更改其代码的内容相比,这是一个更好的解决方案。

关于ios - 向 AppDelegate 添加类别以实现 UIAplicationDelegate 协议(protocol)中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58490251/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com