【问题标题】:Does a Notification Service Extension need any capabilities?通知服务扩展是否需要任何功能?
【发布时间】:2020-06-02 16:58:04
【问题描述】:

我正在为通知服务扩展创建应用 ID

我需要为其添加任何功能吗? 它的唯一目的是下载通知的图像。我想我不需要。

目前我可以在不启用 Xcode 中的任何功能的情况下构建到我的设备中。虽然当我查看 Xcode 自己构建的配置文件时,我看到 Keychain Sharing 已启用。

我还看到了this tutorial,该教程介绍了启用“应用程序组”。 虽然此other tutorial 与启用应用程序组以及推送通知一起使用。我认为我不需要应用程序组,因为我不需要传递任何值,只需更新通知即可。

我没有在文档中找到任何提及正确方法的内容。一位朋友告诉我,他在没有启用任何功能的情况下就可以开始工作,所以我很困惑。

【问题讨论】:

    标签: ios xcode provisioning-profile ios-app-extension app-id


    【解决方案1】:

    基本上,您不需要任何通知服务扩展功能。

    • 我的几个应用程序在没有任何功能的情况下运行。
    • 其中一个使用应用程序组。我需要启用它来共享主应用程序的日志文件,然后从通知服务加载它并在收到静默推送时将其推送到服务器端。
    • 其中很少有人需要共享钥匙串,这样我就可以从通知服务中获取与服务器端进行安全通信的密钥。

    【讨论】:

    • 1.您的图像一直被下载? 2.所以从技术上讲,您可以与应用程序组共享任何令牌密钥,但它不会被加密。因此需要钥匙链共享?
    • 1.是的,在这种情况下下载的图像不能与主应用程序共享。 2. 是的,但最好将密钥存储在钥匙串中。另一个原因,我们的应用程序通常有 device_id,它是一个生成并存储在钥匙串中的 uuid(这样在重新安装应用程序时不会重新生成 device_id),因此通知服务需要钥匙串共享才能访问它。
    • 一旦你使用了应用组,你如何共享数据?您只是使用 UserDefaults?你也能解释一下吗?
    • 好的,等我几分钟,我在路上
    • 1.您对主应用程序和扩展程序(或其他应用程序)使用相同的应用程序组。 2.假设应用组是com.app.group,那么你使用FileManager访问共享目录为FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "com.app.group")
    猜你喜欢
    • 2018-05-08
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多