对象未在Parse-Server上保存

时间:2018-01-15 09:35:20

标签: ios objective-c heroku parse-server

我刚在Parse-Server(Heroku / MLab)上设置了一个应用程序,用于iOS应用程序(在目标C中)。 参考我之前的几个经验,我认为它应该有效。但是当我尝试将对象从我的iOS应用程序保存到Parse-Server时,它就失败了。

以下是AppDelegate.m中的初始化代码:

[Parse initializeWithConfiguration:
 [ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> configuration) {
    configuration.applicationId = @"AAAABBBCCCCXXXXYYYY333344445555";
    configuration.clientKey = @"9999999888888887777777wwwwwwHHHHHHzzzzZZZ";
    configuration.localDatastoreEnabled = @"https://myownapp.herokuapp.com/parse";
}]];

以下是我用来在iOS应用中保存对象的代码:

PFObject *myObject = [PFObject objectWithClassName:@"MyCollectionName"];
// name and membersString are NSString objects previously defined.
myObject[@"name"] = name; 
myObject[@"members"] = membersString;
[myObject saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) {
    if (succeeded) {
        NSLog(@"all is working fine!");
    } else {
        NSLog(@"Error:\n%@",error);
    }
}];

以下是我在Xcode调试控制台中遇到的错误:

Error Domain=Parse Code=100 "A server with the specified hostname could not be found." 
UserInfo={code=100, error=A server with the specified hostname could not be found., 
NSLocalizedDescription=A server with the specified hostname could not be found., 
temporary=1, originalError=Error Domain=NSURLErrorDomain 
Code=-1003 "A server with the specified hostname could not be found." 
UserInfo={NSUnderlyingError=0x1c0844140 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" 
UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, 
NSErrorFailingURLStringKey=https://api.parse.com/1/classes/MyCollectionName, 
NSErrorFailingURLKey=https://api.parse.com/1/classes/MyCollectionName, 
_kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, 
NSLocalizedDescription=A server with the specified hostname could not be found.}, 
NSUnderlyingError=0x1c0848b20 {Error Domain=NSURLErrorDomain 
Code=-1003 "A server with the specified hostname could not be found." 
UserInfo={NSUnderlyingError=0x1c0844140 {Error Domain=kCFErrorDomainCFNetwork 
Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, 
NSErrorFailingURLStringKey=https://api.parse.com/1/classes/MyCollectionName, 
NSErrorFailingURLKey=https://api.parse.com/1/classes/MyCollectionName, _kCFStreamErrorDomainKey=12, 
_kCFStreamErrorCodeKey=8, NSLocalizedDescription=A server with the specified hostname could not be found.}}}

我为我的服务器设置了一个正确的名称:https://myownapp.herokuapp.com/

我不太明白为什么我看到:https://api.parse.com出现在错误消息中。 这可能是错的?但我真的不知道如何改变它。 我认为我已经在应用程序端和服务器端完成了所有必要的操作;但我显然错过了一些东西。

如果有人对该解决方案有所了解,请告诉我。非常感谢。

1 个答案:

答案 0 :(得分:1)

您可能需要正确初始化SDK。

configuration.localDatastoreEnabled = @"https://myownapp.herokuapp.com/parse";

这应该是:

configuration.server = @"https://myownapp.herokuapp.com/parse";
configuration.localDatastoreEnabled = true;