我希望能够在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)共享实例

我创建了一个包含所有解析云代码功能的类。我创建了此类的共享实例,并有一个调用Parse Cloud Code的实例方法:
#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
        }
    }];

保存是在服务器端进行的,因此您只需要一点时间来调用云代码,您会感觉很好。

08-08 06:08