iOS7无声推送通知无效

时间:2013-12-27 09:55:13

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

我在iOS7中实现了推送通知。由于iOS7具有使用方法

静默接收推送通知的功能
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo performFetchWithCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
}

但是这个方法永远不会被调用,因为我正在发送通知。我在通知托盘中收到通知但是通知不应该在那里,因为它是沉默的。我使用Raywenderlich的PHP代码发送推送通知。我也添加了内容可用密钥

// Create the payload body

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

请帮助!!!

2 个答案:

答案 0 :(得分:3)

如果您想要静音推送通知,则不应在有效负载中添加“alert”参数。

像这样传递你的参数。

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

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

enter image description here

enter image description here

您将通过实施此委托获得通知。

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

答案 1 :(得分:1)

尝试使用整数值:

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