gpt4 book ai didi

ios - 无法将 Realm 与 iCloud 同步

转载 作者:可可西里 更新时间:2023-11-01 04:43:20 25 4
gpt4 key购买 nike

我正在尝试将我的应用程序中的 Realm 与 iCloud/CloudKit 同步,但没有成功...

这是我的源代码:

-(void)sync
{
NSURL *baseURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

if (baseURL) //iCloud is active
{
NSURL *serverURL = [NSURL URLWithString:@"http://myMacBookNwtworkIP:9080"]; //Realm Object Server is up and running at this URL
RLMSyncCredential *usernameCredential = [RLMSyncCredential credentialWithUsername:@"myUsername"
password:@"myPassword"
actions:RLMAuthenticationActionsUseExistingAccount];
RLMSyncCredential *iCloudCredential = [RLMSyncCredential credentialWithICloudToken:@"myiCloudToken"];

[RLMSyncUser authenticateWithCredential:usernameCredential
authServerURL:serverURL
onCompletion:^(RLMSyncUser *user, NSError *error) {
if (user) { //user recognized in my real object server
// can now open a synchronized RLMRealm with this user
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
/* CRASH AT THIS LINE! */ config.syncConfiguration = [[RLMSyncConfiguration alloc] initWithUser:user realmURL:serverURL];
RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil];// Any changes made to this Realm will be synced across all devices!
} else if (error) {
// handle error
NSLog(@"error %@",error);
}
}];
}
}

当我尝试执行时

config.syncConfiguration = [[RLMSyncConfiguration alloc] initWithUser:user realmURL:serverURL];

我收到这个错误

The provided URL (http://myMacBookNwtworkIP:9080) was not a valid Realm URL.

我该如何解决?

此外,由于这是我第一次尝试在 iCloud 中保存内容,我应该如何使用 iCloudCredential?事实上,如果我用它替换 usernameCredential,那么 user 总是 nil...

我按照这些链接中的步骤操作:

  1. https://realm.io/docs/objc/latest/#the-realm-mobile-platform
  2. https://realm.io/docs/realm-object-server/#authentication

最佳答案

为防止崩溃,有必要指定“realm”协议(protocol)而不是“http”,如下所示

config.syncConfiguration = [[RLMSyncConfiguration alloc] initWithUser:user realmURL:[NSURL URLWithString:@"realm://myMacBookNwtworkIP:9080"]];

感谢this link

关于ios - 无法将 Realm 与 iCloud 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40550287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com