iOS7 静默推送通知不起作用

标签 ios objective-c ios7 apple-push-notifications

我在 iOS7 中实现了推送通知。由于iOS7具有通过使用方法静默接收推送通知的特性

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo performFetchWithCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
}

但是在我发送通知时此方法从未被调用。我在通知托盘中收到通知但是通知不应该在那里,因为它是无声的。我正在使用 Raywenderlich 的 PHP 代码发送推送通知。我也像这样添加了内容可用 key

// Create the payload body

$body['aps'] = array(
    'content-available' => '1',
    'alert' => $message,
    'sound' => 'default'
    );

请帮忙!!!

最佳答案

如果你想静默推送通知,你不应该在你的有效负载中添加'alert'参数。

像这样传递你的参数。

$body['aps'] = array(
'content-available' => '1'
);

并验证您在项目 plist 中启用了远程通知。

enter image description here

enter image description here

您将通过实现此委托(delegate)获得通知。

 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
// Call or write any code necessary to download new data.
completionHandler(UIBackgroundFetchResultNewData);
 }

关于iOS7 静默推送通知不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20798516/

相关文章:

ios - Xcode 4.3.2,在模拟器上运行时出现问题

ios - 在 iOS 上从不同的应用程序读取文档

ios - xcode - 按钮术语 - 这种按钮类型叫什么?

ios7 - #ifdef __IPHONE_8_0代码也可在iOS 7上运行

ios - 在iOS中的表格单元格中设置两种背景颜色?

c - 如何在ANSI C中实现类似于Objective-C @encode()编译器指令的内容?

objective-c - 使用 valueForKeyPath 获取 NSImageView 子类数组的最小 x 和 y 原点

ios - Objective-C如何在不获取重复项的情况下从NSArray中拉出几个随机项?

ios - 重构大型方法以在 UIViewController 中创建自定义 UIView

ios - 如何将 "talk"从对象 B 返回到 A?