【问题标题】:Other services like Apple push notification其他服务,如 Apple 推送通知
【发布时间】:2018-11-15 14:48:50
【问题描述】:

我正计划为 macOS 开发一个应用程序。在我的应用程序中,一些任务是在 STPrivilegedTask (https://cocoapods.org/pods/STPrivilegedTask) 的帮助下完成的,并使用 sysctl 命令访问系统信息。打开应用沙盒时,使用 STPrivilegedTask 完成的任务不起作用。我想在我的应用程序中使用推送通知。苹果在其开发者文档中表示,推送通知仅适用于通过 App Store 分发的应用程序。(https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html#//apple_ref/doc/uid/TP40008194-CH8-SW1)

APN 可用于通过 iOS App Store、tvOS App Store 和 Mac App Store 分发的应用程序以及企业应用程序。您的应用必须经过配置和代码签名才能使用 APN

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

【问题讨论】:

    标签: ios macos apple-push-notifications sandbox


    【解决方案1】:

    我认为你在这里有点错误。 APNS 是将与设备通信以发送推送通知的服务。任何其他第三方库最终都在使用 APNS,它们只是提供自定义处理或其他功能(如深层链接、跟踪推送通知等)。

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

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

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

    【讨论】:

    • 是否可以通过从帐户(非企业)签署应用证书来在计划在 mac 应用商店之外分发的应用中使用推送通知?
    • @biju “不是企业”的问题是,至少对于 iOS,您不能在 100 台以上的设备上安装应用程序,不知道这在 osx 上是如何工作的。
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多