iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在iOS 8 Today Extension中获取parse.com用户数据时出现异常大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试获取一个PFUser的PFObject列表,以显示在iOS 8 Today Widget中.

在Parse的这个blog post之后,我在我的主应用程序和Xcode中的扩展中启用了相同的应用程序组和钥匙串共享.

我还在我的主应用程序的AppDelegate和My Today Extension的viewDidLoad中启用了以下内容

[Parse enableLocalDatastore];
[Parse enableDataSharingWithApplicationGroupIdentifier:@"group.com.me.myapp" containingApplication:@"com.me.myapp"];
[Parse setApplicationId:@"myAppId" clientKey:@"myClientId"];

在widgetPerformupdateWithCompletionHandler中,我构造并执行了我的查询

- (void) widgetPerformupdateWithCompletionHandler:(void (^)(NCupdateResult))completionHandler {
      PFQuery *query = [PFQuery queryWithClassName:@"Note"];
      [query whereKey:@"User" equalTo:[PFUser currentUser]];

      [query findObjectsInBACkgroundWithBlock:^(NSArray *objects,NSError *error) {
         if (!error)
         {
            // check for difference between current and new data
            if([self hasNewData:objects]) {
                // fresh data
                notes = objects;
                [self.tableView reloadData];
                [self updatePreferredContentSize];
                completionHandler(NCupdateResultNewData);
            } else {
                // Data is the same
                completionHandler(NCupdateResultNoData);
            }
         } else {
            // Failed
            completionHandler(NCupdateResultFailed);
         }
      }];
    }
}

第一次加载似乎工作正常 – 我能够得到我的PFObject列表.但是,每当扩展重新加载第二次时,以下异常:enableDataSharingWithApplicationGroupIdentifier:containingApplication:’必须在viewDidLoad中的enableDataSharingWithApplicationGroupIdentifier调用之前调用’setApplicationId:clientKey”之前调用.

我可以通过将Notification Center滑动到“Notifications”选项卡并将其向后滑动来复制此重新加载,这将导致再次调用viewDidLoad.

我已经仔细检查过调用方法的顺序是正确的,甚至修改了订单,但我仍然遇到了崩溃.

有任何想法吗?提前致谢!

解决方法

试试这个

if(![Parse isLocalDatastoreEnabled]) {
    [Parse enableLocalDatastore];
    [Parse enableDataSharingWithApplicationGroupIdentifier:@"group.com.me.myapp" containingApplication:@"com.me.myapp"];
    [Parse setApplicationId:@"myAppId" clientKey:@"myClientId"];
}

大佬总结

以上是大佬教程为你收集整理的在iOS 8 Today Extension中获取parse.com用户数据时出现异常全部内容,希望文章能够帮你解决在iOS 8 Today Extension中获取parse.com用户数据时出现异常所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。