强制将响应对象返回给 AFNetworking
Posted
技术标签:
【中文标题】强制将响应对象返回给 AFNetworking【英文标题】:Forcing return of response object to AFNetworking 【发布时间】:2014-10-24 23:24:53 【问题描述】:我正在使用 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);
];
但是,脚本的某些部分需要更长的时间才能运行(发送一堆推送通知)。目前,这意味着在发送所有推送之前我不会收到响应对象,从而导致严重延迟。有没有办法强制返回响应对象,以便可以在后台运行更长、更耗时的操作?换句话说,我是否可以强制返回一个响应对象,以便它在我开始发送推送通知之前返回,这样 ios 端就不需要在等待其他操作完成时停滞不前
【问题讨论】:
【参考方案1】:每个人都可能会告诉您,您想要实现的目标与 AFNetworking 无关,也与您的 iPhone 应用程序本身无关。基本上,如果您的 API 计算它必须做的事情(在这种情况下是发送推送通知)花费的时间太长,AFNetworking 会忽略它,但只是在等待响应。
如果我没记错的话,你自己开发 PHP,所以你可能想快速浏览一下如何在 PHP 中运行后台进程来实现你所说的。
有几个链接可能对您有所帮助:
https://florian.ec/articles/running-background-processes-in-php/ http://www.sitecrafting.com/blog/to-run-php-code-in还有其他几个可能最适合您的需求。 希望这能让您走上正确的道路。
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 嗨,马特,明白了。但我只是不想在标题严格指 iOS 和 AFNetworking 时添加一堆 PHP 代码(尽管我认为这是解决这个问题的唯一方法)。以上是关于强制将响应对象返回给 AFNetworking的主要内容,如果未能解决你的问题,请参考以下文章