Apple 推送通知等其他服务

Other services like Apple push notification

我正计划为 macOS.In 开发一个应用程序 我的应用程序的一些任务是在 STPrivilegedTask (https://cocoapods.org/pods/STPrivilegedTask) and accessing system info using sysctl command. The tasks that are done using STPrivilegedTask not working when app sandboxing is turned on. I want to use push notification in my application. Apple says in their developer documentation push notification are only available for the apps that are distributed through the App store.(https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html#//apple_ref/doc/uid/TP40008194-CH8-SW1)

的帮助下完成的

APNs is available to apps distributed through the iOS App Store, tvOS App Store, and Mac App Store, as well as to enterprise apps. Your app must be provisioned and code signed to use APNs

是否可以在没有沙盒的情况下为 macOS 应用程序使用苹果推送通知? 是否有任何其他免费或付费服务可以代替 APNS 用于 macOS 应用程序?

我觉得你这里有点不对。 APNS 是将与设备通信以发送推送通知的服务。任何其他第 3 方库最终都在使用 APNS,它们只提供自定义处理或其他功能(如深度 link、推送通知跟踪等)。

我不知道 macOS 但在 iOS 上,您可以收到未通过 AppStore 分发的应用程序的推送通知。例如,您可以创建一个企业帐户,它比普通帐户贵一点(如文档中所述),您可以使用该帐户的证书和配置文件对应用程序进行签名,并且推送通知肯定会起作用。

推送通知在未提交到 AppStore 的应用程序上以沙盒和生产模式工作。唯一的区别是您分发它们的方式,使用企业证书(您可以在任意数量的设备上安装该应用程序)或普通证书(您可以在最多 100 台设备上安装该应用程序)。

最后一点,除了 APNS 之外,没有其他方式可以接收推送通知。您可以尝试实现此过程的副本但没有成功,至少在非 root 设备上是这样,这仅仅是因为您必须在应用程序和服务器之间创建类似套接字的通信,这将 运行后台,但是 OS 会很快终止你的进程,再见套接字。