2

我有一个严重的错误,仅在我的应用程序第一次安装/启动时发生。

情况是这样的:我在我的 PFInstallation 对象上有一个一对多的关系,我使用与这个关系关联的查询来获取所有“用户的”对象。这就像我的应用程序第二次发布的魅力。

在第一次启动期间,我遇到了这个错误,我无法弄清楚如何调试它。

这是我的查询代码: 编辑:我已经更新了这篇文章,因此您可以看到完整的 PFInstallation + PFRelation + PFQuery 异步流程。

// Store the deviceToken in the current installation and save it to Parse.
    PFInstallation *currentInstallation = [PFInstallation currentInstallation];
    [currentInstallation setDeviceTokenFromData:devToken];
    [currentInstallation setValue:deviceName forKey:@"deviceName"];
    [currentInstallation setValue:deviceModel forKey:@"deviceModel"];

    NSTimeZone *timeZone = [NSTimeZone localTimeZone];
    NSString *tzName = timeZone.name;
    NSNumber *secondsFromGMT = [NSNumber numberWithInteger:timeZone.secondsFromGMT];

    [currentInstallation setValue:tzName forKey:@"timeZoneName"];
    [currentInstallation setValue:secondsFromGMT forKey:@"secondsFromGMT"];

    [currentInstallation saveInBackgroundWithBlock:^(BOOL succeed, NSError *error){

        NSLog(@"Save installation: %s - error %@",succeed? "YES":"NO",error);

        if (succeed && !error) {

            if ([PFInstallation currentInstallation].objectId != nil){

                PFQuery *query = [PFQuery queryWithClassName:@"Event"];

                PFRelation *myEvents = [[PFInstallation currentInstallation]relationForKey:@"events"];

                NSLog(@"Pf installation: %@ \nRelation: %@",[PFInstallation currentInstallation],myEvents.query);

                query = myEvents.query;
                query.cachePolicy = kPFCachePolicyCacheThenNetwork;

                [query includeKey:@"Obs"];
                [query includeKey:@"Category"];
                [query orderByDescending:@"DateIni"];

                [query setLimit:100];

                [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

如您所见,我已经检查了PFInstallation是否已保存...

调试器卡在一行:

0x1000b0e14:  adrp   x8, #1904640

并且在线程一上卡在进程 [PFQuery markAsRunning]

如果我继续运行我的应用程序,它不会崩溃,如果我重做查询,我将永远得到相同的错误并且它不会停止。

我杀死了应用程序并重新启动......一切都像魅力一样。

我知道这类似于 PFInstallation 本地保存错误,但是我在第一次启动应用程序和其他应用程序时获得了相同的 PFinstallation 日志。PFInstallation 似乎已正确保存。

也许线程问题?

以前有人遇到过类似的错误吗?

4

0 回答 0