对象未保存在 Parse-Server 上
Posted
技术标签:
【中文标题】对象未保存在 Parse-Server 上【英文标题】:Object not saving on Parse-Server 【发布时间】:2018-01-15 09:35:19 【问题描述】:我刚刚在 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 出现在错误消息中。 这可能是什么问题?但我真的不知道该怎么做才能改变它。 我想我在应用端和服务器端都做了所有必要的事情;但我显然遗漏了一些东西。
如果有人对解决方案有任何想法,请告诉我。将不胜感激。
【问题讨论】:
https://api.parse.com/
无法访问
你说得对,我也能读懂。但我能做些什么呢?我没有在我的代码中的任何地方设置这个“api.parse.com”。我只能在错误消息中阅读。
如何在 Appdelegate 中初始化解析连接?
我刚刚编辑了帖子以添加此信息。请看一下,我希望你能看到那里有什么问题。谢谢。
【参考方案1】:
您可能需要正确初始化 SDK。
configuration.localDatastoreEnabled = @"https://myownapp.herokuapp.com/parse";
这应该是:
configuration.server = @"https://myownapp.herokuapp.com/parse";
configuration.localDatastoreEnabled = true;
【讨论】:
是的。谢谢。你是对的,除了它应该是 configuration.server 而不是 configuration.serverURL。我不太了解第二行,没有它对我有用。我试图编辑您的答案以接受它,但它不起作用。如果你改变它,我可以接受。 我编辑了评论,我添加了第二行,因为您可以选择使用 localDatastoreEnabled 设置以上是关于对象未保存在 Parse-Server 上的主要内容,如果未能解决你的问题,请参考以下文章