Просмотр исходного кода

1.真机空间少于1G 限制下载

huangxiaodong 1 год назад
Родитель
Сommit
a66901a97d

+ 8 - 0
创维盒子/双子星云手机/AppDelegate/SceneDelegate.m

@@ -1203,6 +1203,14 @@
         }];
     }
     else if (type == 1){
+        if(![iTools checkFreeDiskSpaceInBytesIsOK:500*1024*1024]){
+            mainBlock(^{
+                [[iToast makeText:NSLocalizedString(@"phone_space_Insufficient",nil)] show];
+            });
+            return;
+        }
+        
+        
         [[boxDownloadFileManager shareInstance] addBoxDownloadRecordFunBy:sharemodel.data.fileListVOS complete:^(BOOL isSuccess) {
             if(isSuccess){
                 mainBlock(^{

+ 3 - 19
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileManager/downloadManager.m

@@ -7,8 +7,7 @@
 
 #import "downloadManager.h"
 #import "cachesFileManager.h"
-#import <sys/mount.h>
-#include <sys/param.h>
+
 #import "AFNetworkReachabilityManager.h"
 
 @interface downloadManager ()
@@ -185,21 +184,6 @@ static downloadManager * cur_downloadManager = nil;
 }
 
 
-- (BOOL)checkFreeDiskSpaceInBytesIsOK:(long)fileByte{
-    struct statfs buf;
-    unsigned long long freeSpace = -1;
-    if (statfs("/var", &buf) >= 0) {
-        freeSpace = (unsigned long long)(buf.f_bsize * buf.f_bavail);
-    }
-    
-    long space = freeSpace - fileByte;
-    if( space/fileByte < 2.0 || space < 500*1024*1024){
-        return NO;
-    }
-    
-    return YES;
-}
-
 - (void)beginDownloadFileFun
 {
     if(_downLoadFileModelDataArr.count == 0)
@@ -258,7 +242,7 @@ static downloadManager * cur_downloadManager = nil;
 //        }
 //    }
     
-    if(![self checkFreeDiskSpaceInBytesIsOK:_curDownloadFileModel.length]){
+    if(![iTools checkFreeDiskSpaceInBytesIsOK:_curDownloadFileModel.length]){
         mainBlock(^{
             [[iToast makeText:NSLocalizedString(@"phone_space_Insufficient",nil)] show];
         });
@@ -561,7 +545,7 @@ static downloadManager * cur_downloadManager = nil;
         return;
     }
     
-    if(![self checkFreeDiskSpaceInBytesIsOK:_curDownloadFileModel.length]){
+    if(![iTools checkFreeDiskSpaceInBytesIsOK:_curDownloadFileModel.length]){
         mainBlock(^{
             [[iToast makeText:NSLocalizedString(@"phone_space_Insufficient",nil)] show];
         });

+ 9 - 1
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileRecordViewController.m

@@ -74,7 +74,6 @@
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(downloadFileSuspendAllFun:)  name:downloadFileSuspendAllNotification  object:nil];
     
     
-    
     [self.view setBackgroundColor:[UIColor whiteColor]];
     
     self.titleLabel.text = NSLocalizedString(@"my_set_no_File_Transfer_List",nil) ;
@@ -91,6 +90,15 @@
 {
     [super viewWillAppear:animated];
     
+    if(![iTools checkFreeDiskSpaceInBytesIsOK:500*1024*1024]){
+        mainBlock(^{
+            [[iToast makeText:NSLocalizedString(@"phone_space_Insufficient",nil)] show];
+        });
+        
+//        [self.navigationController popViewControllerAnimated:YES];
+//        return;
+    }
+    
     [self getAllDataFun];
 }
 

+ 3 - 0
创维盒子/双子星云手机/Helpers/iTools.h

@@ -183,6 +183,9 @@ NS_ASSUME_NONNULL_BEGIN
 + (NSString *)base64UrlEncoder:(NSString *)str;
 // base64 url 解码
 + (NSString *)base64UrlDecoder:(NSString *)str;
+
+//检测真机空间是否足够下载 两倍 文件长度 或者大于 1G
++ (BOOL)checkFreeDiskSpaceInBytesIsOK:(long)fileByte;
 @end
 
 NS_ASSUME_NONNULL_END

+ 17 - 0
创维盒子/双子星云手机/Helpers/iTools.m

@@ -10,6 +10,8 @@
 #import "CommonCrypto/CommonDigest.h"
 #import <CommonCrypto/CommonCrypto.h>
 #import "RSA.h"
+#import <sys/mount.h>
+#include <sys/param.h>
 
 static const char encodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
@@ -1296,4 +1298,19 @@ static const char encodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq
     return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
 }
 
+
++ (BOOL)checkFreeDiskSpaceInBytesIsOK:(long)fileByte{
+    struct statfs buf;
+    unsigned long long freeSpace = -1;
+    if (statfs("/var", &buf) >= 0) {
+        freeSpace = (unsigned long long)(buf.f_bsize * buf.f_bavail);
+    }
+    
+    long space = freeSpace - fileByte;
+    if( space/fileByte < 2.0 || space < 1000*1024*1024){
+        return NO;
+    }
+    
+    return YES;
+}
 @end