iPhone 锁定时解析 saveInBackground?

Parse saveInBackground when iPhone is locked?

我希望能够在 iOS 设备锁定时保存用户信息。我正在使用后台模式,但 saveInBackground 似乎只工作了大约 5 秒,然后它停止保存。当重新打开应用程序时,它会立即保存所有内容。有没有办法让他们在锁定时保存?

谢谢

**云代码(JS)**

Parse.Cloud.define("createSale", function(request, response) {
  var SaleClass = Parse.Object.extend("Sale");
  var sale = new SaleClass();
  sale.set("contractorId", request.params.contractorId);
  sale.set("subtotal", request.params.subtotal);
  sale.save(null, {
  success: function (sale) {
                    console.log(responseData);
                    response.success(responseData);
                  },
                  error: function (error) {
                    response.error(error);
                    console.log(error);
                  }
                });
 }); 

共享 ParseCloudFunctions 实例 (Obj-C)

我创建了一个 class 来保存我所有的 Parse 云代码函数。我创建了这个 class 的共享实例,并有一个调用 Parse Cloud 代码的实例方法:

#import <Parse/Parse.h>

+ (ParseCloudFunctions *) sharedInstance {
    static ParseCloudFunctions *sharedInstance;
     static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[ParseCloudFunctions alloc] init];
    });
    return sharedInstance;
 }

- (void) createSaleWithParameters: (NSDictionary *) parameters block:(void (^)(id object, NSError *error)) block{
    [PFCloud callFunctionInBackground:@"createSale" withParameters:parameters block:block];
}

只要你想调用解析云代码,你就可以:

 NSDictionary *parameters = @{
                                 @"contratorId":contractorId,
                                 @"subtotal":subtotal,
                                 };

    [[ParseCloudFunctions sharedInstance] createSaleWithParameters:parameters block:^(id object, NSError *error) {
        if(error){
            //Handle Error
        }
        if(object){
            //Do stuff
        }
    }];

保存在服务器端处理,所以你只需要一点时间调用云代码就可以了。