1

我成功地将我的应用程序从 Parse 迁移到 Heroku,现在我的 AppDelegate 使用以下代码:

[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> configuration) {
    configuration.applicationId = @"xxxxxxxx";
    configuration.clientKey = @"xxxxxxxx";
    configuration.server = @"http://xxxxxxxx.herokuapp.com/parse";
}]];

并不是

//    [Parse setApplicationId:@"xxxxxxxx"
//                      clientKey:@"xxxxxxxx"];
//    [PFUser enableRevocableSessionInBackground];

除云代码外,一切正常,当我运行云代码时,这是来自模拟器的错误:[Error]: Invalid function. (Code: 141, Version: 1.12.0)

这是我的云文件路径:/Users/Viny/heroku/parse-server-example/cloud/main.js

我使用 Parse 中的相同 main.js 更新并推送它。

这是我的 index.js:

// Example express application adding the parse-server module to expose Parse
// compatible API routes.

var express = require('express');
var ParseServer = require('parse-server').ParseServer;

var databaseUri = process.env.DATABASE_URI || process.env.MONGOLAB_URI;

if (!databaseUri) {
  console.log('DATABASE_URI not specified, falling back to localhost.');
}

var api = new ParseServer({  
    databaseURI: process.env.DATABASE_URI || 'mongodb://localhost:27017/dev',  
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
    appId: 'xxxxxxx',  
    masterKey: 'xxxxxxx',
    fileKey: 'xxxxxxx',  
    clientKey: 'xxxxxxx',
    serverURL: 'http://localhost:1337/parse' 
});
// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey

var app = express();

// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

// Parse Server plays nicely with the rest of your web routes
app.get('/', function(req, res) {
  res.status(200).send('I dream of being a web site.');
});

var port = process.env.PORT || 1337;
app.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

云代码在 Parse 中按预期工作,但不适用于 Heroku...

4

2 回答 2

2

而不是这个配置.server = @" http://xxxxxxxx.herokuapp.com/parse "; 做这个配置.server = @" http://xxxxxxxx.herokuapp.com/parse/ ";

于 2016-02-28T00:50:43.287 回答
0

好吧,我想我找到了问题所在,我的 iOS 应用在 Heroku 上有两个“个人应用”:“chilln”(我的 iOS 应用名称)和“rocky-reef-28464”(按照这个教程自动创建:https ://learnappmaking.com/how-to-migrate-parse-app-parse-server-heroku-mongolab/ )

我将我的 configuration.server 更改为:http ://rocky-reef-28464.herokuapp.com/parse/

现在它似乎可以识别云代码,只是模拟器上的这个错误:[Error]: <null> (Code: 141, Version: 1.12.0)

这是我在 Heroku 上的个人应用程序的屏幕:在此处输入图像描述

我应该只有一个个人应用程序吗?

chilln 具有附加组件 MongoLab 和 cfg var:“app_id”、“master_key”、“mongolab_url”、“parse_mount”。rocky-reef-28464 没有附加组件 MongoLab,但只有一个 cfg var:“DATABASE_URI”,并且有 git heroku repo(我认为)

我该怎么办?将两个应用程序合并为一个?

于 2016-02-28T11:32:48.610 回答