php - gcm推送通知: first success,然后未在IOS中注册

标签 php ios swift google-cloud-messaging

在 IOS 中使用谷歌云消息接收通知的所有段落之后,但我遇到了这个问题: 我在 php 中发送带有服务器 key 和设备 token 的通知的帖子,第一次响应为“成功”,但在设备上没有收到任何内容,第二次以及随后的时间,响应为“未注册”。我重复所有段落:在钥匙串(keychain)中创建新 key ,加载配置文件,下载 .cer,安装在钥匙串(keychain)中,导出 .p12 并在 google 平台上插入“GoogleService-Info.plist”的证书,然后在 php 重新加载设备的 regId ,但响应始终是这样。请帮助我。

这是我的 php :

    $apiKey = "server key";
    $regId = 'registration token';
    $url = 'https://gcm-http.googleapis.com/gcm/send';
    $post = '{"to" : "' . $regId . '", "content_available" : true, "priority" : "high", "notification":  {"title" : "test", "body" : "test"}}';

    $headers = array(
            "Authorization:key=$apiKey",
            'Content-Type:application/json'
            );

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$result = curl_exec($ch);
if ( curl_errno( $ch ) )
{
    echo 'GCM error: ' . curl_error( $ch );
}
curl_close( $ch );
    echo $result;

最佳答案

Op 自己的答案,已从编辑的问题中删除:

问题是旧帐户没有新的配置文件,请转到:XCode 帐户 -> Apple ID 并查看详细信息 -> 下载全部。请务必转到:目标 -> 项目名称 -> build设置 -> 搜索“配置文件” -> 更改自动并选择用于证书的配置文件。神秘的是 xcode 的原因是不警告我找不到正确的配置文件(不同的包 id)。

关于php - gcm推送通知: first success,然后未在IOS中注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852858/

相关文章:

php - 如果条件为空,则 SQL WHERE 子句返回 ALL

ios - 如何使表格 View 像联系人应用程序一样按字母分成多个部分

swift - Swift 或其他语言中 Optionals 的术语

php - 如何使用 php Rest api 从reactjs前端修复数据库中的空插入?

php - 使用 str_replace 更改 PHP 模板中的文本

php - 如何在我的 HTML 网站中实现搜索框流程?

ios - angularjs 幻灯片过渡在 safari ios 9 上中断

iOS SQLite 或 1000 个松散文件?

swift - 启用核心数据 Xcode Swift

swift - NEVPNManager 中使用的 Swift 中的钥匙串(keychain)引用