【发布时间】:2017-06-07 19:37:12
【问题描述】:
我创建了一个简单的聊天应用程序,它可以在接收者离线时向他发送推送通知。
正如我在标题中所说,当应用程序被终止时,我无法通过推送通知正确传递消息。实际上,当 iPhone 收到推送通知并且应用程序被终止时,甚至 application:didReceiveRemoteNotification:fetchCompletionHandler 都不会被触发(如在其他示例和苹果文档中找到的)。
但是,我的应用与 whatsapp 没有任何不同,但如果我通过 whatsapp 发送推送通知,即使它被杀死,接收者也会正确传递他的消息。
这怎么可能
我了解了 PushKit 及其 VOIP 推送通知模式,但我想了解 Whatsapp 是否真的使用此功能,如果我使用它,我的应用是否有被 Apple 拒绝的风险?
提前致谢。
更新:
我用whatsapp做的测试如下:
- iPhone 上的 Whatsapp 被杀;
- 另一台设备在 Whatsapp 上向我发送消息;
- 我的 iPhone 收到推送通知;
- 在 iPhone 上激活飞行模式;
- 用图标应用打开 Whatsapp(不是点击推送通知);
结果:消息正确。这让我觉得当 Whatsapp 启动但消息数据已经在 iPhone 上传递时没有同步。
如果我的应用程序被强制终止,我无法对推送通知做出反应,这怎么可能?
【问题讨论】:
-
可能是因为它会在再次激活时获取新消息...?
-
Objective-c 或 swift。您正在使用这两个标签。优化你的标签。
-
@SushilSharma 斯威夫特
-
@holex 我在我的更新中添加了一些测试细节。
标签: ios iphone swift notifications