我刚在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出现在错误消息中。 这可能是错的?但我真的不知道如何改变它。 我认为我已经在应用程序端和服务器端完成了所有必要的操作;但我显然错过了一些东西。
如果有人对该解决方案有所了解,请告诉我。非常感谢。
答案 0 :(得分:1)
您可能需要正确初始化SDK。
configuration.localDatastoreEnabled = @"https://myownapp.herokuapp.com/parse";
这应该是:
configuration.server = @"https://myownapp.herokuapp.com/parse";
configuration.localDatastoreEnabled = true;