你好,请用异步方法saveInBackground看一下,然后在block里面将error的错误打出来。

你好,用异步方法保存后没有返回错误,返回的是成功,然而后台和 AVQuery 还是查询不到。谢谢。

刚才看了下后台,突然有数据了。所以其实是 leanCloud 服务器是有延迟的?

你好,一般存储成功后在控制台中可以立刻看到,可以再观察一段时间看看情况。

你好,今天早上再看后台,发现之前记录的数据都没有了,数据记录变成了 0 条。这么几天看下来,后台的确是有问题啊…

请问App Id是什么?

bHpcMAjzPytdhX49XFf3a8C8

请把进行保存操作时的日志打印出来看下。
初始化时调用以下函数。注意发布应用时关闭日志,避免泄露数据。
iOS SDK:
[AVOSCloud setAllLogsEnabled:YES];

日志在此:

2015-12-21 19:13:22.667 vrrv[9320:986025] [DEBUG] -[LCCurlScheduler logCurlOperation:] [Line 80] 

------ BEGIN LeanCloud REST Request ------
path: /1.1/batch/save
curl: curl -i -k --compressed -X POST -H 'User-Agent: AVOS Cloud iOS-v3.1.7 SDK' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json' -H 'X-LC-Id: bHpcMAjzPytdhX49XFf3a8C8' -H 'X-LC-Sign: 00f274bb31b3c9ff3f0a527d6c15ce88,1450696402667' -H 'X-LC-Prod: 1' -d '{"requests":[{"path":"\/1.1\/classes\/UserActivityLog","method":"POST","body":{"operation":"viewMovieDetail","relatedMovieId":"56692da400b0d1dbc7539a59","__internalId":"IaKGoAH1fY7DIHisXQBGACE","userId":"30738ABD-BCF8-40D1-A1AA-3B437F346EBA","tag":""}}]}' "https://api.leancloud.cn/1.1/batch/save"
------ END --------------------------------

2015-12-21 19:13:22.749 vrrv[9320:986021] 
------ BEGIN Certificate ------
Serial Number:
102835D0699261630AB73C7F072E4D31

Certificate Issuer:
C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G3

Certificate Subject:
C=CN, ST=Beijing, L=Beijing, O=Mei Wei Shu Qian ( Beijing ) IT Co., Ltd., OU=OPS, CN=*.leancloud.cn
------ END --------------------
2015-12-21 19:13:22.871 vrrv[9320:986021] [DEBUG] __56-[AVPaasClient performCurl:saveResult:block:retryTimes:]_block_invoke [Line 609] 

------ BEGIN LeanCloud REST Response ------
path: /1.1/batch/save
cost: 0.204s
response: {"IaKGoAH1fY7DIHisXQBGACE":{"objectId":"CaK5IuyvGHb3rHlq","createdAt":"2015-12-21T11:13:22.904Z"}}
------ END --------------------------------

并没有看到这个操作的日志:

AVObject *post = [AVObject objectWithClassName:@"Post"];
[post setObject:@"每个 Objective-C 程序员必备的 8 个开发工具" forKey:@"content"];
[post setObject:@"LeanCloud官方客服" forKey:@"pubUser"];
[post setObject:[NSNumber numberWithInt:1435541999] forKey:@"pubTimestamp"];
[post save];

不好意思,代码后来改动过。

是以下代码的日志:

AVObject *userActivity = [AVObject objectWithClassName:@"UserActivityLog"];
[userActivity setObject:deviceId forKey:@"userId"];
[userActivity setObject:movieId forKey:@"relatedMovieId"];
[userActivity setObject:operation forKey:@"operation"];
[userActivity setObject:tag forKey:@"tag"];
[userActivity saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
  if (!error) {
    // userActivity 保存成功
    callback(@[[NSNull null], @""]);
  } else {
    // 保存 userActivity 时出错
    callback(@[error, @""]);
  }
}];

你好,你的UserActivityLog是日志表。
鉴于日志型数据表会存储大量数据,因此在以上记录明细的界面中仅会显示出截止到「前一天」最新的 20 条记录

是这样啊,谢谢。

可是还是有疑问:

为什么之前还有记录,第二天再看却记录数是 0 了呢?

你的意思是UserActivityLog这个表,之前看到过记录,后面却消失了,并且没有进行过删除操作?

之前打开后台的时候,侧边会有数字显示记录条数,右侧也会显示记录。而后来再看,侧边记录条数是0,右侧也没有记录。但是离线查询可以查到记录。期间没有做过删除操作。

UserActivityLog 里面现在是有数据的啊,你是不是切换到离线分析那里去了?

切换到离线分析会导致数据管理那里不显示?

再观察几天,我会保留截图。

今天看,UserActivityLog 又不显示数据了。

非常抱歉,这个数据之前确实没有显示出来,我刚才给你手动处理了一下,目前可以显示了。
因为这里只是缓存的最近20条数据而已,所以在这里不显示,不会影响你在离线分析里面来处理这些数据。不过,我们还是会仔细检查一下,看看为什么缓存里面的数据会丢失,有了结论再来更新。

这个问题我们已经修复了。