【问题标题】:Provisioning profiles for Service Extension and Content Extension服务扩展和内容扩展的配置文件
【发布时间】:2018-06-19 09:50:42
【问题描述】:

我正在尝试在我的 iOS 应用程序中实现丰富的通知,并且在使用 Notification Service ExtensionNotification Content Extension 时,运行我的应用程序后我收到了相同捆绑包的错误标识符。 对于这些扩展,我是否需要使用单独的配置文件? 比如我的代码一个,通知服务扩展一个,通知内容扩展一个?

【问题讨论】:

  • 每个扩展程序和服务只需要应用程序包 ID。配置文件仅用于安装应用程序和相关扩展谢谢

标签: swift xcode provisioning-profile ios-app-extension rich-notifications


【解决方案1】:

是的,您必须为通知服务扩展和通知内容扩展使用单独的配置文件。作为参考,您可以使用此链接。

https://mobisoftinfotech.com/resources/mguide/ios-10-rich-notifications-tutorial/

服务扩展:

服务扩展的入口点类 UNNotificationServiceExtension

它覆盖了 2 个方法:

func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
}

func serviceExtensionTimeWillExpire() {
}

内容扩展的入口点类是 UIViewController 及其实现协议

func didReceive(_ notification: UNNotification) {
}

【讨论】:

  • 非常感谢 Ravish 的确认!将制作单独的个人资料并结帐。
  • 是否有任何规则要求扩展的配置文件名称应与应用程序配置文件的配置文件名称匹配?
  • 我收到此错误:-> 错误:嵌入式二进制文件的包标识符没有以父应用的包标识符为前缀。
  • Target->General-->Embedded Binaries 删除旧的并选择新的,这就是我解决这个问题的方法
  • 支持Rich Notifications的最低iOS版本是多少?,好像我也需要支持iOS 9,如何处理?
【解决方案2】:

是的,您需要为 Notification Service Extension 创建单独的证书(开发和发布)。

您还应该在有效负载中包含 mutable-content 键并设置 true,如下所示。

{
    "aps": {
        "alert": {
            "title": "test title",
            "body": "test message"
        },
        "mutable-content": 1
    },
    and more...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多