notnoop 使用了很棒的 Java APNS。https://github.com/notnoop/java-apns
出于某种原因,当我想拉入我的密钥库时,容纳 APNS 的整个对象就会爆炸。下面是:
object Notification {
val iosApnsDist =
APNS.newService()
.withCert("/ipush.dist.p12", "password")
.withSandboxDestination()
.build()
}
对于熟悉 Play! 的人来说,添加到conf
文件夹中的文件应该在类路径中可用。所以我有点困惑,为什么我的引用会使应用程序崩溃。
下面是提取密钥库的 APNS java 源代码片段。有什么想法吗?
public ApnsServiceBuilder withCert(String fileName, String password)
throws RuntimeIOException, InvalidSSLConfig {
FileInputStream stream = null;
try {
stream = new FileInputStream(fileName);
return withCert(stream, password);
} catch (FileNotFoundException e) {
throw new RuntimeIOException(e);
} finally {
Utilities.close(stream);
}
}
更新
在启动期间运行 try/catch 时,我能够提取错误消息。基本上,它找不到文件:
Caused by: com.notnoop.exceptions.RuntimeIOException: java.io.FileNotFoundException: \ipush.dev.p12 (The system cannot find the file specified)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:116)
at engine.logic.notification.Notification$.<init>(Notification.scala:61)
我可以确认该文件确实在 /conf 文件夹中,那是什么原因?