PFInstallation应用程序首次发布问题

时间:2014-10-26 22:03:10

标签: parse-platform launch relation pfrelation

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

情况是这样的:我在PFInstallation对象上有一对多关系,我使用与此关系相关联的查询来获取所有“用户”对象。 这就像第二次推出My App时的魅力一样。

在第一次启动时我有这个错误,我无法弄清楚如何调试它。

这是我的查询代码: 编辑:我已经更新了这篇文章,所以你可以看到完整的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本地保存错误,但是我在应用程序的第一次启动和其他启动时得到相同的PF安装日志.PFInstallation似乎正确保存。

也许是线程问题?

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

0 个答案:

没有答案