【问题标题】:Push Notification is not working on iOS 10推送通知不适用于 iOS 10
【发布时间】:2017-01-22 04:27:16
【问题描述】:

安装 iOS 10 的新更新后,推送通知不起作用,而相同的代码实现在 iOS 9 上工作。iOS 10 推送通知有什么新东西吗?因为,我无法弄清楚。另外,是否需要在功能下开启推送通知。

【问题讨论】:

  • 您是否尝试过任何方法来找出它为什么不起作用?你是如何实施的?您收到任何错误或警告吗?
  • @Anbu.Karthik 我看过那个帖子,在那种情况下他收到了通知但没有调用 didReceiveNotification,而在我的情况下我没有收到通知。
  • 我认为这不是沙盒或生产环境的问题,应用程序应该响应 appdelegate 中的通知方法..

标签: ios objective-c swift push-notification ios10


【解决方案1】:

在 Xcode 7 中不需要启用推送通知功能。现在在 Xcode 8 中需要这样做。通过在 Xcode 8 中启用推送通知功能,它将添加以下更改:

项目.pbxproj

com.apple.Push = {
    enabled = 1;
};

*.entitlements(用于开发)

<key>aps-environment</key>
<string>*development*</string>

*.entitlements(用于企业和生产)

<key>aps-environment</key>
<string>*production*</string>

【讨论】:

  • 除了com.apple.Push = { enabled = 1; }; 之外,project.pbxproj 中是否还有其他需要远程通知的行?并感谢:D @Jen C
【解决方案2】:

在 iOS 10 上必须添加推送通知权利,因此如果您“修复问题”,问题将自动解决。

Problem

【讨论】:

    【解决方案3】:

    需要对带有 xCode 8 GM 的 iOS 10 进行一些更改您需要实现 UserNotification.framework 及其委托方法来获得推送通知的工作,并且需要启用推送通知的功能。

    您必须导入新的 UserNotification.framework。请点击此链接:Push notification issue with iOS 10

    【讨论】:

    • 感谢您的链接,在功能下启用推送通知很有帮助。以前它适用于 iOS 9 及更低版本,无需对功能进行任何更改。虽然我不清楚为什么我们在 iOS 10 中这样做。
    • 在没有启用推送通知功能的情况下,我收到了从苹果到开发者帐户的电子邮件:缺少推送通知权利 - 您的应用似乎注册了 Apple 推送通知服务,但应用签名的权利不包括“aps 环境”权利。所以我解决了这个问题,并在功能中找到了这一点。
    • 好的,所以推送在没有启用推送通知功能的情况下工作?您是否在权利或 .plist 中添加任何内容
    • 因此,如果我们在功能中启用推送通知,是否如答案中所述,在应用委托中不需要注册 ios 10 通知的额外代码?
    • @AshishShah 无需实现UserNotification。仍然可以使用UIUserNotificationSettings 完成。您只需要启用推送通知的功能,这将在您的项目中创建一个 .entitlement 文件。
    猜你喜欢
    • 1970-01-01
    • 2020-05-22
    • 2018-05-25
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多