1

我正在使用静默通知,当我的手机插入 Xcode、使用 Wifi 并在application:didReceiveRemoteNotification:fetchCompletionHandler:方法中有断点时,当我的应用程序在后台时,它可以完美运行。

我的服务器每分钟发送一次静默通知。这是我的有效载荷:

{
    aps = 
    {
        "content-available" = 1;
    };
    "update-location" = 1;
}

但是,当我从手机禁用 WIFI 时,它不再接收它(3g 正常工作)。

当我没有插入 Xcode 时,我得到了同样的行为。

有没有人有想法,或者已经解决了?

4

3 回答 3

2

我会首先做以下两件事来帮助我缩小可能性:

  1. 检查您使用的 APNS 网关。如果您使用的是分发证书,请不要在沙盒 APNS URL 上触发通知。
  2. 确保您在设备上使用匹配的配置文件。开发配置文件和分发配置文件返回不同的 UDID。

此外,正如 Viruss mca 所说,有时苹果服务器会出现延迟。

更新:你还有一个分号。

aps = 
{
    "content-available" = 1;
};// << Right there. It should be a comma.
于 2013-10-29T08:28:25.777 回答
2

解决方案:在静音通知内容中添加声音键......

于 2013-10-29T11:05:23.723 回答
1

我想你的情况可能有两点,

  1. 不要在短时间内向设备发送太多通知,因为 APNS 仅缓存 1 条消息/设备(如果设备离线)。因此,它可以在设备上线时传递消息。我不确定消息被缓存了多长时间。

  2. APNS 基于 Apple Servers,Apple 不保证消息的成功传递。

在 Apple Docs 中很清楚地表明它不是 100% 保证的,也不应该这样使用

于 2013-10-29T08:19:54.257 回答