use*_*482 10 cocoa cloudkit ckrecord
我正在尝试保存记录CloudKit但是我从cloudkit中收到以下错误:
error saving record este es error: Error saving record <CKRecordID: 0x7fef15b5d2a0; 2:(_defaultZone:__defaultOwner__)> to server: WRITE operation not permitted
Run Code Online (Sandbox Code Playgroud)
以下是我试图保存记录的方法:
[publicDatabase saveRecord:recordContent completionHandler:^(CKRecord *record, NSError *error){
if (!error)
{
NSLog(@"saved!!!");
}
else
{
if ([[error.userInfo valueForKey:@"ErrorDescription"] isEqualToString:@"record to insert already exists"])
{
NSLog(@"record already exist %@",[error.userInfo valueForKey:@"ErrorDescription"]);
}
NSLog(@"error saving record : %@",error.localizedDescription);
}
}];
Run Code Online (Sandbox Code Playgroud)
但之前我检查过cloudkit是否可用:
[myContainer accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError *error)
{
NSLog(@" no error but status %ld",accountStatus);
if (((accountStatus == 3) || (accountStatus == 2)) && (!error))
{
NSLog(@" no error but status %ld",accountStatus);
// typedef NS_ENUM(NSInteger, CKAccountStatus) {
// /* An error occurred when getting the account status, consult the corresponding NSError */
// CKAccountStatusCouldNotDetermine = 0,
// /* The iCloud account credentials are available for this application */
// CKAccountStatusAvailable = 1,
// /* Parental Controls / Device Management has denied access to iCloud account credentials */
// CKAccountStatusRestricted = 2,
// /* No iCloud account is logged in on this device */
// CKAccountStatusNoAccount = 3,
//
// }
}
if (error)
{
NSLog(@" accountStatus error %@",error);
}
} ];
Run Code Online (Sandbox Code Playgroud)
我在哪里获得状态1,意思是CKAccountStatusAvailable.
你们中的任何人都知道为什么会发生这种情况它一直运作良好,直到最后一条记录或者你们中的任何一个人知道这方面的工作?
我真的很感谢你的帮助.
Pet*_*mer 25
您需要设置权限以允许用户写入(或删除)由其他人创建的记录.您可以在开发环境中,在Schema,Record Types下选择特定记录,然后在右侧有一个标记为Security的下拉菜单.授予角色'Authenticated'读写权限.然后部署到Production.
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |