Explorar o código

1.修改RA Image iOS上传网络状态检查。

Pen Li %!s(int64=8) %!d(string=hai) anos
pai
achega
0d6f42a551

+ 1 - 1
common/upload/RANetworkTaskDelegate.h

@@ -10,7 +10,7 @@
 //#import "JKNetworkResult.h"
 
 typedef void(^resultHandler)(NSMutableDictionary *result);
-typedef void(^progressHandler)(double progress);
+typedef void(^progressHandler)(NSURLSessionTask *task,double progress);
 
 
 @interface RANetworkTaskDelegate : NSObject <NSURLSessionDataDelegate>

+ 3 - 2
common/upload/RANetworkTaskDelegate.m

@@ -22,6 +22,7 @@
     obj = [[RANetworkTaskDelegate alloc] init];
     obj.recvData = [NSMutableData data];
 //    obj.result = [[JKNetworkResult alloc] init];
+    printf("new network delegate\n");
     return obj;
 }
 
@@ -32,7 +33,7 @@
     double progress = (double)totalBytesSent / totalBytesExpectedToSend;
     
     if (self.p) {
-        self.p(progress);
+        self.p(task,progress);
     }
 }
 
@@ -60,7 +61,7 @@
 //
     
 
-
+    printf("net work complete\n");
     if (self.r) {
         
         

+ 10 - 3
common/upload/RAUploadOperation.m

@@ -154,7 +154,13 @@
 //        [self completeOperation];
         
         
-    } Progress:^(double progress) {
+    } Progress:^(NSURLSessionTask *task,double progress) {
+        BOOL canUpload = [Appdelegate.uploadManager canUpload];
+        if (!canUpload) {
+            printf("cancel task on progress");
+            [task cancel];
+            return ;
+        }
         
         dispatch_async(dispatch_get_main_queue(), ^{
 //            ((UIProgressView*) block_task[@"ui_pregress"]).progress = progress;
@@ -175,7 +181,7 @@
     }];
     
     //完成下载
-    
+    DebugLog(@"operation finish %@",self);
     
   //  [self didChangeValueForKey:@"isExecuting"];
 }
@@ -209,10 +215,11 @@
 - (void)dealloc
 {
    // dumpThreads(@"dealloc");
+    DebugLog(@"operation Dealloc %@",self);
 }
 
 - (void)cancel {
-    
+    DebugLog(@"operation Cancel %@",self);
     
     if (_urlSessionTask.state == NSURLSessionTaskStateRunning || _urlSessionTask.state == NSURLSessionTaskStateSuspended) {
         DebugLog(@"cancel session task");