我正计划为macOS开发一个应用程序。在我的应用程序中,一些任务是在STPrivilegedTask(Source)的帮助下完成的,并使用sysctl命令访问系统信息。打开应用沙箱后,使用STPrivilegedTask完成的任务不起作用。我想在应用程序中使用推送通知。苹果公司在其开发人员文档中说,推送通知仅适用于通过App Store分发的应用程序。(https://cocoapods.org/pods/STPrivilegedTask)
APN可用于通过iOS App Store,tvOS App Store和Mac App Store分发的应用程序以及企业应用程序。必须配置您的应用程序并签名代码才能使用APN
是否可以在没有沙箱的情况下将macOS应用程序使用苹果推送通知? 在macOS应用程序中是否可以使用其他任何免费或付费服务代替APNS?
答案 0 :(得分:0)
我认为您在这里有点不对。 APNS是将与设备通信以便发送推送通知的服务。最后,任何其他第三方库都在使用APNS,它们只是提供自定义处理或其他功能(例如深层链接,推送通知的跟踪等)。
我不了解macOS,但在iOS上,您会收到未通过AppStore分发的应用程序的推送通知。例如,您可以创建一个企业帐户,该帐户比普通帐户贵一些(如docs中所述),并且可以使用该帐户中的证书和配置文件对应用程序进行签名,并且推送通知肯定会起作用。>
推送通知在未提交到AppStore的应用程序上以沙箱和生产模式工作。唯一的区别是使用企业证书(可以在任意数量的设备上安装该应用程序)或普通证书(可以在最多100个设备上安装该应用程序)分发它们的方式。
最后一点,除了APNS,没有其他方法可以接收推送通知。您至少可以在非根目录设备上尝试实现此过程的副本,但没有成功,仅是因为您必须在应用程序和服务器之间创建类似于套接字的通信,该通信将在后台运行,但是操作系统很快就会杀死您的进程并再见套接字。