Я использую AFNetworking для запуска скрипта PHP, как показано ниже:
NSString *urlString = @"scriptURL.php";
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
...
} success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) {
NSLog(@"it worked!");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error: %@", error.description);
}];
Однако есть части скрипта, выполнение которых занимает больше времени (отправка большого количества push-уведомлений). В настоящее время это означает, что я не получаю объект ответа до тех пор, пока не будут отправлены все запросы, что приводит к значительной задержке. Есть ли способ принудительного возврата объекта ответа, чтобы более длительные и длительные действия могли выполняться в фоновом режиме? Другими словами, могу ли я принудительно вернуть объект ответа так, чтобы он возвращался до того, как я начну отправлять push-уведомления, так что стороне iOS не нужно зацикливаться на ожидании завершения других действий
Как все, вероятно, скажут вам, то, что вы пытаетесь достичь, не имеет ничего общего ни с AFNetworking, ни с самим вашим приложением для iPhone. По сути, если вашему API требуется слишком много времени для вычисления того, что он должен делать (в данном случае отправка push-уведомлений), AFNetworking игнорирует его, но просто ожидает ответа.
Если я правильно понял, вы сами разрабатываете PHP, так что вы можете быстро взглянуть на то, как запустить фоновый процесс в PHP, чтобы добиться того, о чем вы говорили.
В этом вам могут помочь несколько ссылок:
И несколько других, которые в лучшем случае могут удовлетворить ваши потребности.
Надеюсь, это поставит вас на правильный путь.
Других решений пока нет …