Apns通知不使用开发证书

时间:2017-04-28 04:41:04

标签: java cordova ios5 push-notification apple-push-notifications

请建议我,因为我有开发p12文件和依赖项但是当通过Developement Certificate.p12文件发送通知时,我获得了Exceptiopn。异常是(javax.net.ssl.SSLException)javax.net.ssl.SSLException:收到致命警报:internal_error

package com.push.notification.server;

import com.notnoop.apns.APNS;
import com.notnoop.apns.ApnsService;
import com.notnoop.apns.EnhancedApnsNotification;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Date;

public class ApnsTest {

    private ApnsService service;

    public ApnsTest() {
    try {

        String path = "p12 file name";

        File certFile = new File(path);
        InputStream fis = new FileInputStream(certFile);
        service = APNS.newService().withCert(fis, "pwd")
            .withSandboxDestination()
            .build();
        sendMessage();
    } catch (Exception e) {
        e.printStackTrace();
    }
    }

    public static void main(String[] args) {
    new ApnsTest();
    }

    public void sendMessage() {
    String payload = APNS.newPayload().alertBody("nnnnn").sound("default").build();
    String deviceToken = "267fe9f23984cc6d8ca7b35db3c4b829cdbe2f9f1dbd3258cbbfa8f94e3fd986";
    int now = (int) (new Date().getTime() / 1000);
    EnhancedApnsNotification notification = new EnhancedApnsNotification(EnhancedApnsNotification.INCREMENT_ID(),
        now + 60 * 60, deviceToken, payload);

    System.out.println("Sending push notification");
    try {
        service.push(deviceToken, payload);
    } catch (Exception e) {
        e.printStackTrace();
    }
    }
}

1 个答案:

答案 0 :(得分:0)

是的,再次通过创建开发证书解决了上述问题。

首先是程序enter image description here 在Mac上,打开Keychain Access

从顶部菜单中选择

钥匙串访问>证书助理>从证书颁发机构申请证书......

填写您的电子邮件地址,通用名称 选中保存到磁盘 按继续并将.certSigningRequest文件保存在某处 enter image description here

为App ID配置推送通知 完成APP ID注册后,您需要将其配置为使用推送通知。 [在此输入图像说明] [3] 选择刚刚创建的App ID,然后单击“编辑” 在推送通知中,单击创建证书,然后单击**继续 单击选择文件...并上载您之前生成并保存在Mac上的.certSigningRequest文件。单击“生成”。 生成证书后,将其下载到Mac上 [在此输入图像说明] [4] 1.4创建私钥 现在,您将从下载的证书中创建私钥。 [在此输入图像说明] [5] 双击下载的文件。它应该在Keychain Access中打开 选择左侧的我的证书。您应该找到刚刚添加的证书。 按住Control键并单击证书,然后选择导出“Apple Development IOS推送服务:...”... 将其另存为..p12文件,在“另存为”对话框中选择“文件格式为个人信息交换(.p12)”

1.5在Apple Developer门户上创建供应配置文件

转到配置配置文件

单击+以创建新的配置文件

选择iOS App Development,然后选择继续

从下拉列表中选择正确的应用ID,然后继续

从列表中选择正确的证书,然后继续

选择您要开发的设备,即继续

输入配置文件的名称,然后输入

下载文件

双击Xcode中的文件。现在应将配置文件添加到Xcode。