2016-11-26 54 views
0

我無法從我的(客觀C,iOS)應用程序發送推送通知。發送推送通知的困難(Parse-Server/Heroku)

因爲這是我第一次在這個環境中做這件事,所以我可能會錯過一些重要的細節。

這裏是我的ParseServer初始化內部index.js代碼形狀:

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 
    } 
}); 

以下是我獲取日誌中:

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! [email protected] 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 [email protected] 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]: > [email protected] 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 

即使上面的日誌是相當晦澀難懂,我可以注意到這樣的部分:

Error: ENOENT: no such file or directory, open '/cloud/MyApp.Prod.p12' 

但我確定MyApp.Prod.p12在本地存在unde r雲文件夾。 的運行:

heroku run bash 

我也可以檢查,它實際上是在服務器上。

難道是我把.p12文件放在了錯誤的地方?或者是其他東西?

回答

0
Instead of pfx: '/cloud/MY_APP.Dev.p12', 

Use pfx: 'cloud/MY_APP.Dev.p12', 
+0

它的工作原理!謝謝。 – Michel