- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
CKFetchDatabaseChangesOperation
fetchDatabaseChangesCompletionBlock
的标题注释指出:
“如果服务器返回一个 CKErrorChangeTokenExpired
错误,则 previousServerChangeToken
值太旧,客户端应该丢弃其本地缓存并 从 nil previousServerChangeToken
开始重新获取此记录区域中的更改。”
我想测试这个场景,因此我想生成一个过期的 CKServerChangeToken
,这样我就可以将它设置为 CKFetchDatabaseChangesOperation
上的 previousServerChangeToken
>.
我从私有(private) header 添加了一个初始化方法:
@interface CKServerChangeToken (Private)
- (id)initWithData:(NSData *)data;
@end
并按如下方式使用:
CKServerChangeToken knownExpiredToken = [[CKServerChangeToken alloc] initWithData:[[NSData alloc] initWithBase64EncodedString:@"AQAAAVl57tUGHv6sgNT9EeaTcQCM+sDHHA==" options:0]];
该字符串是从请求返回的有效更改 token ,我尝试修改它但未成功,例如减少我看到递增到较低的数字。然而,我设法得到另一个奇怪的无效参数错误,比如缺少连续标记。如果 CloudKit 工程师有任何建议,我将不胜感激,谢谢。
最佳答案
这是一篇旧文章,但我这样做无意中生成了 .changeTokenExpired
错误:
由于 token 指向不同的区域,它对 CloudKit 没有任何意义,它会返回一个 .changeTokenExpired
错误。
关于ios - 通过生成已知过期的 CKServerChangeToken 来测试 CKErrorChangeTokenExpired 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41524503/
CKFetchDatabaseChangesOperation fetchDatabaseChangesCompletionBlock 的标题注释指出: “如果服务器返回一个 CKErrorChang
我是一名优秀的程序员,十分优秀!