标签: cloudkit

如何设置最小CKSubscription?

我想建立一个简单的CKSubscription通知我一个recordType被创建,怎么样?

publish-subscribe push-notification ios8 cloudkit cksubscription

10
推荐指数
1
解决办法
2091
查看次数

CloudKit fetchRecordChangesOperation给出"AppDefaultZone不支持同步语义"

我正在使用CKFetchRecordChangesOperation和CKFetchRecordsChangeToken来获取更改,它告诉我"AppDefaultZone不支持同步语义".

这是违规代码:

- (void)downloadServerChangesWithCompletionBlock:(void (^)(NSError *error))completionBlock
{
    // Prepare to fetch remote changes
    CKDatabase *database = [CKContainer defaultContainer].privateCloudDatabase;
    CKRecordZoneID *zoneID = [[CKRecordZoneID alloc] initWithZoneName:CKRecordZoneDefaultName ownerName:CKOwnerDefaultName];

    // Initialize fetch record changes operation
    CKFetchRecordChangesOperation *fetchRecordChangesOperation = [[CKFetchRecordChangesOperation alloc] initWithRecordZoneID:zoneID previousServerChangeToken:[self changeToken]];
    fetchRecordChangesOperation.recordChangedBlock = ^(CKRecord *record) {
        [self performRecordChange:record];
    };
    fetchRecordChangesOperation.recordWithIDWasDeletedBlock = ^(CKRecordID *recordID){
        [self performRecordDeletion:recordID];
    };
    fetchRecordChangesOperation.fetchRecordChangesCompletionBlock = ^(CKServerChangeToken *serverChangeToken, NSData *clientChangeTokenData, NSError *error) {
        if (error) {
            completionBlock(error);
        } else {
            [self setChangeToken:serverChangeToken];
            completionBlock(nil);
        }
    };

    // Perform the operation
    [database …
Run Code Online (Sandbox Code Playgroud)

objective-c ios cloudkit ckfetchrecordchangesopera

10
推荐指数
1
解决办法
1270
查看次数

Cloudkit仪表板意外的服务器错误

当我想使用Cloudkit时,我发现我无法通过Cloudkit仪表板管理数据.该页面给我一条消息"意外的服务器错误".我怎么解决这个问题?这里显示了此错误截图.

在此输入图像描述

[更新]

完整错误日志:

ERROR TITLE意外的服务器错误.

真的很致命

TYPE服务器

应用程序名称仪表板

建造编号15BDev63

时间周二2015年3月24日08:43:06 GMT + 0100(CET)(1427182986565)

HOST icloud.developer.apple.com

用户代理Mozilla/5.0(Macintosh; Intel Mac OS X 10_10_2)AppleWebKit/600.4.10(KHTML,类似Gecko)版本/ 8.0.4 Safari/600.4.10

环境未知

最近的日志留言星期二,2015年3月24日7时43分06秒格林尼治标准时间:信息: - >请求1:GET到 https://ckdashboardws.icloud.apple.com/bootstrap?request_uuid=e7516168-dcfe-4ed5-aa17-dc3a5a97ffb6,headers:Content-Type = text/plain,body:(empty)< - 响应1:500(294ms),标题:Cache-Control = no-cache,no-store,private,Content-Type = application/json ; 字符集= UTF-8,X-苹果-请求- UUID = f05681b8-1f1c-4af5-a534-5f6531c5a463体:{ "errorReason": "内部服务器错误", "错误码" 500 "requestUUID":"f05681b8-1f1c -4af5-a534-5f6531c5a463"}星期二,2015年3月24日07:43:06 GMT:DEBUG:CloudKit:调用ErrorCatcher对话框.星期二,2015年3月24日7时43分06秒GMT:DEBUG:SC.Module:试图加载'cloudkit/error_catcher'星期二,2015年3月24日7时43分06秒GMT:DEBUG:SC.Module:模块'cloudkit/error_catcher'没有加载,现在加载.星期二,2015年3月24日7时43分06秒格林尼治标准时间:DEBUG:SC.Module:在'cloudkit/error_catcher'加载CSS文件- >"/applications/dashboard/15BDev63/cloudkit/error_catcher/15BDev63/en-us/stylesheet.css '星期二,2015年3月24日07:43:06 GMT:DEBUG:SC.Module:在'cloudkit/error_catcher'中加载JavaScript文件 - >'/ applications/dashboard/15BDev63/cloudkit/error_catcher/15BDev63/en-us/javascript. js'Tue,2015年3月24日07:43:06 GMT:DEBUG:SC.Module:模块'cloudkit/error_catcher'已完成加载.星期二,2015年3月24日07:43:06 GMT:DEBUG:SC.Module:评估和调用'cloudkit/error_catcher'的回调.星期二,2015年3月24日07:43:06 GMT:DEBUG:SC.Module:模块'cloudkit/error_catcher'已完成加载,调用回调.

ios cloudkit

10
推荐指数
1
解决办法
1284
查看次数

CloudKit:按创建日期排序查询结果

从CloudKit加载项目时,我想按创建日期订购结果.我相信现在它正在按记录的第一个属性进行排序.

func loadItems() {
    let predicate = NSPredicate(value: true)
    let query = CKQuery(recordType: "Items", predicate: predicate)
    db.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in
        if error != nil {
            println(error.localizedDescription)
        }

        dispatch_async(dispatch_get_main_queue()) { () -> Void in
            items = results as [CKRecord]
            self.tableView.reloadData()
            println("items: \(items)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ios icloud swift cloudkit

10
推荐指数
2
解决办法
4953
查看次数

CloudKit安全角色和权限如何工作?

CloudKit中有三个默认安全角色:

  • 世界
  • 经过身份验证
  • 创造者

还有三个权限:

  • 创建

这些安全角色和权限如何工作?

以下是我希望通过对安全角色的解释来回答的一些问题的示例:

  • 这三个角色是什么意思?前两个似乎很明显,但最后一个似乎不那么明显.例如,Creator是指表格的创建者还是记录的创建者?
  • 删除许可在哪里?写?
  • 安全角色可以应用于个人记录吗?(例如,我希望用户只能访问InstantMessages表中的一部分记录:他们发送的记录以及他们收到的记录.这种性质可以通过安全角色完成吗?)
  • 权限是继承的吗?(例如,创建者是否获得了创建者,经过身份验证和世界授予的所有权限?)
  • 权限纯粹是添加剂吗?或者我可以创建一个自定义角色,删除权限而不是添加权限吗?(例如,为了创建"禁止用户"安全角色.)
  • 如何在用户上设置角色?我可以为每个创建的用户设置默认角色吗?我可以通过编程方式更改用户的角色吗?
  • 如何创建新的安全角色?我可以通过编程方式创建/更新它们吗?

security permissions security-roles cloudkit

10
推荐指数
1
解决办法
1782
查看次数

Cloudkit:"错误保存记录WRITE操作不允许"

我正在尝试保存记录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(@" …
Run Code Online (Sandbox Code Playgroud)

cocoa cloudkit ckrecord

10
推荐指数
2
解决办法
2440
查看次数

CloudKit CKSubscription没有通知?

我正在使用CloudKit编写Swift应用程序.当设备在CloudKit中修改记录时,我希望在其他设备的本地存储中更新相应的记录,而不显示推送通知.

我需要调用registerUserNotificationSettingsdidFinishLaunchingWithOptions(这意味着用户必须接受我的应用程序的通知),即使我不打算显示任何推送通知?

application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert, categories: nil))
Run Code Online (Sandbox Code Playgroud)

ios swift cloudkit

10
推荐指数
2
解决办法
1215
查看次数

CloudKit中CKReferenced记录的数量是否有限制?

我试图在CloudKit中存储联系人组,如果我尝试创建一大组记录,CKReferenced到单个组记录,我会收到错误.

该限制似乎约为700左右的记录.

有没有其他人看到类似的结果,或者可以确认限制的存在(或不存在)?我无法在文档中找到任何内容,也无法通过Google找到任何内容.

注意:我已经将我提交的记录拆分为400或更少的批次,因为这似乎是一个硬限制.

ios icloud cloudkit ckreference

10
推荐指数
1
解决办法
664
查看次数

如何检查特定于应用程序的CloudKit数据,或访问iTunes App中无法访问的数据?

iOS有一种方法可以通过iTunes向最终用户公开部分应用数据.

此外,应用程序可以在CloudKit中存储只能由应用程序本身访问的信息(可能不是应用程序作者,也不是最终用户自己)

  • 如何检查上传到我的个人iCloud帐户的第三方应用程序的数据?

  • 如何检查存储在应用程序容器中的数据的第三方应用程序的数据(存储视图中的"其他"分配)在我的本地设备上

编辑 -

所以我想要查看所有数据,而不仅仅是UIFileSharingEnabled何时启用.

我还想检查将添加到我帐户中的个人CKData(CKRecord).从理论上讲,如果我获得了开发人员的许可,我会导航到https://icloud.developer.apple.com/dashboard/并在那里进行检查.

iphone privacy ios icloud cloudkit

10
推荐指数
1
解决办法
300
查看次数

在 iOS13 中使用 NSPersistentCloudKitContainer 进行 CloudKit 同步

我正在为我的核心数据应用程序使用 NSPersistentCloudKitContainer。在测试期间,我检查了设备上所做的更改是否在几秒钟内同步到 CloudKit。

但是,当我在设备上禁用 iCloud 然后立即重新启用时,设备上的所有数据都消失了。我检查我的私有数据库中的数据是否仍然存在于 CloudKit 上。CloudKit 上的数据同步回我的设备花了超过 1 天的时间。

这会在用户更换设备并看到他们的数据一开始消失时引起用户的困惑。问题:如何控制 CloudKit 上的数据同步回我的设备的速度?

core-data cloudkit ios13

10
推荐指数
1
解决办法
2543
查看次数