问题标签 [nsurlsession]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 多个 NSURLSessionUploadTasks
我正在开发一个将图像上传到服务器的应用程序,并且我正在使用 background NSURLSessionUploadTask
s。这适用于少量上传的图像,例如 10 到 20 张照片。但是,我在尝试一次上传 100 多张图片时遇到了问题。backgroundNSURLSessionUploadTask
的可扩展性如何?
当我打电话
反复,它阻塞等待信号量。这是由于与后台上传守护进程通信的往返时间吗?是否等待后台上传守护进程处理其他上传任务?有 100 多张照片,我已经看到这些调用总共阻塞了 40 多秒。此外,一旦这些调用完成,上传需要一段时间才能取得任何进展,并且它们经常一次停止很多秒。
我希望能够设置我的 100 多个上传任务,然后坐下来让 iOS 7 为我处理上传。但是,如果必须,我可以一次只创建几个上传任务。iOS 7 中提供了如此高级的后台上传功能,这似乎是一种耻辱。我还不如NSURLConnection
在 iOS 6 下使用。
谢谢你的帮助。
ios - NSURLSession 后台下载 - 通过网络故障恢复
在阅读了有关使用新 iOS7 api (NSURLSession) 进行后台下载的 Apple 文档后,我有点失望。我确信 Apple 正在后台管理网络可用性的暂停/恢复(或提供这样做的选项),但没有……</p>
所以阅读文档,这就是我们所拥有的:
当任何任务完成时,NSURLSession 对象调用代理的 URLSession:task:didCompleteWithError: 方法,带有一个错误对象,如果任务成功完成,则为 nil。如果任务是可恢复的下载任务,则 NSError 对象的 userInfo 字典包含 NSURLSessionDownloadTaskResumeData 键的值。您的应用应使用可达性 API 来确定何时重试,然后应调用 downloadTaskWithResumeData: 或 downloadTaskWithResumeData:completionHandler: 来创建新的下载任务以继续下载。转到步骤 3(创建和恢复任务对象)。
到目前为止我了解解决方案,但我的问题是:哪种架构最适合处理网络丢失并在后台恢复下载?
在我这边,我使用的是可达性,每次网络可用时,我都会恢复所有任务(在创建时通过 NSArray 引用),并在网络丢失时暂停它们。这在前台效果很好,但对于后台我需要以下几点帮助:
如果我的应用在前台没有连接,如果我在没有连接的情况下进入后台,我的所有任务都将保持暂停状态,并且在网络可用时不会返回......</p>
在后台失去网络,停止我所有的下载/任务。设想:
- 在前台,我开始下载我的任务
- 我进入后台,10 秒后切换到“aireplan 模式”
- 我所有的任务都出错了。所以在方法 URLSession:task:didCompleteWithError: 我使用 downloadTaskWithResumeData 恢复它们,或者如果我不能(因为有些没有足够的恢复数据)我正在创建一个新任务而不恢复它(除非网络回到那个时间)。
- 然后我把wifi挂了
- 由于我仍处于后台,因此当网络恢复时,我无法在不启动应用程序的情况下触发“恢复”……</li>
我该如何解决这些问题?我错过了什么吗?
ios - NSURLSession 什么时候运行?
我有一种情况,当设备收到推送通知时,我会发送一个NSURLSession
与NSURLConnection
. 我有几个关于NSURLSession
.
NSURLSession's
如果互联网连接丢失,数据任务是否会在后台自动恢复?
NSURLSession
如果最初没有互联网,是否会自动尝试完成任务,或者会话是否只是返回错误?
ios - NSURLSessionConfiguration 总是返回 nil
我正在尝试访问NSURLSessionConfiguration
我尝试使用以下语句来检索NSURLSessionConfiguration
.
声明 1。
上面的语句返回nil
声明 2。
上面的语句也返回nil
。
谁能告诉我NSURLSessionConfiguration
上课有什么问题?
objective-c - NSURLSessionDataTask 未执行完成处理程序块
我正在尝试从本地节点服务器中提取一些数据。服务器正在获取获取请求并记录它,但由于某种原因,我的 iOS 应用程序不会执行我在完成处理程序中拥有的任何代码。这是代码:
}
程序运行时,nameLabel 不会更改为“yay”。但是,如果我尝试在 NSURLSessionDataTask 行之前更改 nameLabel,它会更改。
ios - 请求在模拟器和设备上返回不同的数据
当我在模拟器上请求网页时,我得到了 HTML,但是当我从设备发出请求时(我在 wifi 和蜂窝网络上尝试过)。这种情况始终如一地发生。
什么会导致这个?
编辑:这是在设备上为我返回的内容,在模拟器上我得到了真实页面:
编辑:我知道它不是用户代理。我进行了自定义配置,问题仍然存在。
编辑:问题继续与 NSURLRequest 以及 NSURLSession。
ios7 - NSURLSession 或 NSURLConnection - iOS 6 支持
我需要连接到我的服务器以获取一些JSON
数据,并且我必须同时支持iOS 6
和iOS 7
.
我应该创建两个类吗?一个带有NSURLSession
foriOS 7
一个带有NSURLConnection
for iOS 6
?还是我应该同时使用NSURLConnection
它们?
ios - NSURLSession:后台上传然后调用一个服务api
我试图使用新的 ios7 后台传输 api 将一些照片上传到服务器。现在发生的事情是 1)我们将字节上传到 s3 2)调用服务 api 来“完成”上传
我查看了这个文档,似乎背景 NSURLSession 不支持“数据”任务。这是否意味着在实际上传完成后我不能在后台执行第 2 步?
iphone - NSURLSession 和亚马逊 S3 上传
我有一个应用程序正在将图像上传到亚马逊 S3。我一直在尝试将其从使用 NSURLConnection 切换到 NSURLSession 以便在应用程序处于后台时可以继续上传!我似乎遇到了一些问题。NSURLRequest 被创建并传递给 NSURLSession 但亚马逊发回 403 - 禁止响应,如果我将相同的请求传递给 NSURLConnection 它完美地上传文件。
这是创建响应的代码:
然后这标志着响应(我认为这来自另一个 SO 答案):
然后,如果我使用这行代码:
它可以工作并上传文件,但如果我使用:
我得到了禁止的错误..!?
有没有人尝试用这个上传到 S3 并遇到类似的问题?我想知道这是否与会话暂停和恢复上传的方式有关,或者它对请求做了一些有趣的事情..?
一种可能的解决方案是将文件上传到我控制的临时服务器,并在完成后将其转发到 S3……但这显然不是一个理想的解决方案!
任何帮助深表感谢!!
谢谢!
ios - 在后台下载多个文件(仅限 iOS 7)
我目前正在开发一个只能在 iOS 7 上运行的播客应用程序,它具有允许在后台模式下同步和下载最近剧集的功能。
所以同步很清楚,我实现了该
application:performFetchWithCompletionHandler
方法并在其中调用了同步方法,当同步完成时,我调用 completionHandler UIBackgroundFetchResultNewData
,或者如果它失败了,我调用UIBackgroundFetchResultFailed
. 但是当我运行下载管理器开始下载所有新剧集时,它可能需要很长时间,这取决于网络质量和文件大小,并且后台模式会在某个时候冻结并暂停最近的下载。
如何正确设计后台下载?
或者可能是一些教程链接,它正确描述了后台下载文件。