当然你可以将剩余的文件大小除以当前的下载速度,但如果你的下载速度波动(它会),这不会产生非常好的结果.什么是更好的算法,以产生更顺畅的倒计时?
根据我看到的文档NSProgress,-[NSProgress localizedAdditionalDescription]可以报告下载速度和剩余时间,例如:
1.61 GB的3.22 GB(2 KB /秒) - 剩余2分钟
但是,当我NSProgress将a 关联到a 时,我无法获得这些细节NSURLSessionDownloadTask.这是我的代码:
Downloader.h
@interface Downloader : NSObject
@property NSProgress *overallProgress;
-(void)startDownload;
@end
Run Code Online (Sandbox Code Playgroud)
Downloader.m
- (void)startDownload {
self.overallProgress = [NSProgress progressWithTotalUnitCount:100];
[self.overallProgress setKind:NSProgressKindFile];
[self.overallProgress setUserInfoObject:NSProgressFileOperationKindKey forKey:NSProgressFileOperationKindDownloading];
[self.overallProgress becomeCurrentWithPendingUnitCount:100];
[self work1];
[self.overallProgress resignCurrent];
}
- (void)work1 {
NSProgress *firstTaskProgress = [NSProgress progressWithTotalUnitCount:1];
[firstTaskProgress setKind:NSProgressKindFile];
[firstTaskProgress setUserInfoObject:NSProgressFileOperationKindKey forKey:NSProgressFileOperationKindDownloading];
NSURL *downloadURL = [NSURL URLWithString:@"http://ipv4.download.thinkbroadband.com/200MB.zip"];
NSURL *destinationDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] firstObject];
NSURL *destinationURL = …Run Code Online (Sandbox Code Playgroud) 我知道可达性,你可以检查你是否连接到互联网.但有没有办法确定连接的速度?我试图分别计算上传速度和下载速度.
如何以编程方式确定互联网上的速度?
可能重复:
计算连接/下载速度
我将数据放在3台服务器上以供应用程序使 我希望用户通过网络连接从最快的服务器加载数据.所以我需要测试用户的网络连接速度到我的服务器.有没有办法从iPhone测试用户网络速度?
有没有什么办法可以在Xcode中以编程方式检查互联网连接速度或带宽.我正在尝试这样做,因为连接速度慢会导致某些图片上传出现问题.
我想从iOS设备获得当前的Wifi信号强度.Google搜索仅显示Android设备的解决方案.从文献中我得知Apple不允许访问硬件,因此没有人可以通过他们的应用程序在dbm中检索设备的信号强度.
它是否正确?
iphone ×3
ios ×2
algorithm ×1
bandwidth ×1
download ×1
estimation ×1
ios7 ×1
ipad ×1
macos ×1
networking ×1
nsprogress ×1
objective-c ×1
wifi ×1
xcode ×1