[英]Difficulties sending push-notifications (Parse-Server/Heroku)
I am having trouble sending push-notifications from an (objective C, iOS) app of mine. 我无法从我的(目标C,iOS)应用中发送推送通知。
Since it is the first time I am doing this in this environment I am probably missing some important detail. 由于这是我第一次在这种环境中进行此操作,因此我可能缺少一些重要的细节。
Here is the shape of my code for the ParseServer initialization inside index.js: 这是index.js中用于ParseServer初始化的代码的形状:
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://heroku_xyz336:.....mlab.com:.../heroku_xyz336',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'myAppID',
masterKey: process.env.MASTER_KEY || 'myMasterKey',
push: {
ios: [
{
pfx: '/cloud/MY_APP.Dev.p12',
bundleId: 'me.you.bundleId',
production: false // Dev
},
{
pfx: '/cloud/MY_APP.Prod.p12',
bundleId: 'me.you.bundleId',
production: true // Prod
}
]
},
fileKey: process.env.FILE_KEY || 'myFileKey',
serverURL: process.env.SERVER_URL || 'https://myApp.herokuapp.com/parse',
liveQuery: {
classNames: ["ClassOne", "ClassTwo", "ClassThree"] // List of classes to support for query subscriptions
}
});
Here is what I get in the logs: 这是我在日志中得到的:
app[web.1]: Now inside function pushing Notifications.
app[web.1]: info: beforeSave triggered for MyApp for user Yacb7KxgA9:
app[web.1]: Input: {"....}
app[web.1]: Result: {"object":{"....}} className=MyApp, triggerType=beforeSave, user=Yacb7KxgA9
heroku[router]: at=info method=POST path="/parse/classes/Config/CIImaTgfD8S" host=vi-da-sta.herokuapp.com request_id=... fwd="12.211.213.333" dyno=web.1 connect=0ms service=201ms status=200 bytes=522
app[web.1]: /app/node_modules/parse-server/lib/ParseServer.js:425
app[web.1]: throw err;
app[web.1]: ^
app[web.1]:
app[web.1]: Error: ENOENT: no such file or directory, open '/cloud/MyApp.Prod.p12'
app[web.1]: at Error (native)
app[web.1]:
app[web.1]: npm ERR! Linux 3.13.0-100-generic
app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
app[web.1]: npm ERR! node v6.9.1
app[web.1]: npm ERR! npm v3.10.8
app[web.1]: npm ERR! code ELIFECYCLE
app[web.1]: npm ERR! parse-server-example@1.4.0 start: `node index.js`
app[web.1]: npm ERR! Exit status 7
app[web.1]: npm ERR!
app[web.1]: npm ERR! Failed at the parse-server-example@1.4.0 start script 'node index.js'.
app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
app[web.1]: npm ERR! If you do, this is most likely a problem with the parse-server-example package,
app[web.1]: npm ERR! not with npm itself.
app[web.1]: npm ERR! Tell the author that this fails on your system:
app[web.1]: npm ERR! node index.js
app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
app[web.1]: npm ERR! npm bugs parse-server-example
app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
app[web.1]: npm ERR! npm owner ls parse-server-example
app[web.1]: npm ERR! There is likely additional logging output above.
app[web.1]:
app[web.1]: npm ERR! Please include the following file with any support request:
app[web.1]: npm ERR! /app/npm-debug.log
heroku[web.1]: State changed from up to crashed
heroku[web.1]: Process exited with status 1
heroku[router]: at=error code=H10 desc="App crashed" method=POST path="/parse/logout" ...... dyno=web.1 connect=0ms service= status=503 bytes=
heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `npm start`
app[web.1]:
app[web.1]: > parse-server-example@1.4.0 start /app
app[web.1]: > node index.js
app[web.1]:
app[web.1]: parse-server-example running on port 19647.
app[web.1]: info: Parse LiveQuery Server starts running
heroku[web.1]: State changed from starting to up
Even though the log above is pretty obscure, I can notice the part that says: 即使上面的日志非常模糊,我仍可以注意到其中的部分内容:
Error: ENOENT: no such file or directory, open '/cloud/MyApp.Prod.p12'
But I am sure MyApp.Prod.p12 exists locally under the cloud folder. 但是我确定MyApp.Prod.p12在本地存在于云文件夹下。 An by running: 通过运行:
heroku run bash
I can also checked that it actually is on the server. 我还可以检查它实际上在服务器上。
Could it be that I have put the .p12 file at the wrong place? 可能是我将.p12文件放在错误的位置吗? Or something else? 或者是其他东西?
Instead of pfx: '/cloud/MY_APP.Dev.p12',
Use pfx: 'cloud/MY_APP.Dev.p12',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.