线程" main"中的例外情况java.lang.RuntimeException:十六进制字符无效:v - APNS notnoop

时间:2014-11-21 09:44:40

标签: ios push-notification apple-push-notifications

我一直在尝试实施notnoop APNS项目,以便向iOS设备发送推送通知,但我通过控制台收到此输出:

  

线程“main”中的异常java.lang.RuntimeException:十六进制字符无效:v       在com.notnoop.apns.internal.Utilities.charVal(Utilities.java:133)       在com.notnoop.apns.internal.Utilities.decodeHex(Utilities.java:120)       在com.notnoop.apns.EnhancedApnsNotification。(EnhancedApnsNotification.java:72)       在com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:54)       在com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:36)       在com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:45)       在PushServiceTryout.main(PushServiceTryout.java:16)

关于我做错了什么的任何想法?我能感觉到我快到了!提前谢谢。

编辑:这是代码。无论如何,一旦我运行程序,我就会收到错误:s

import com.notnoop.apns.APNS;
import com.notnoop.apns.ApnsService;

public class PushServiceTryout
{
    public static void main(String[] args)
    {
        ApnsService service = APNS.newService()
                .withCert("c:/fcertificates.p12", "1234")
                .withSandboxDestination()
                .build();
        String msg = "Hello";

        String payload = APNS.newPayload().alertBody(msg).build();
        String token = "deviceToken";
        service.push(token, payload);
    }
}

1 个答案:

答案 0 :(得分:3)

这是错误:

String token = "deviceToken";

你不能使用String" deviceToken"作为设备令牌。设备令牌由64个十六进制字符组成(例如:" 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef")。当然,您也不能使用随机十六进制字符串。您应该使用从安装了应用程序的设备发送给您的设备令牌。

您的String中的第一个非十六进制字符的异常恰好是v