You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2018/02/26 02:56:41 UTC

incubator-weex git commit: * [iOS] fix compiler warning complain

Repository: incubator-weex
Updated Branches:
  refs/heads/master 9f2676b21 -> b48c23d68


* [iOS] fix compiler warning complain


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b48c23d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b48c23d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b48c23d6

Branch: refs/heads/master
Commit: b48c23d6844bf63bb2e268f05fb3e70b8c2c749d
Parents: 9f2676b
Author: acton393 <zh...@gmail.com>
Authored: Mon Feb 26 10:56:28 2018 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Mon Feb 26 10:56:28 2018 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |  4 ++--
 .../WeexSDK/Sources/Component/WXEditComponent.m |  4 ++--
 .../Sources/Component/WXImageComponent.m        | 10 ++++----
 .../WeexSDK/Sources/Module/WXAnimationModule.h  |  2 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |  8 +++----
 .../WeexSDK/Sources/Module/WXClipboardModule.m  |  4 ++--
 ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m |  4 ++--
 .../WeexSDK/Sources/Module/WXModalUIModule.m    | 14 ++++++------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 24 ++++++++++----------
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h |  4 ++--
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 16 ++++++-------
 .../WeexSDK/Sources/Module/WXVoiceOverModule.m  | 10 ++++----
 ios/sdk/WeexSDKTests/WXStreamModuleTests.m      |  2 +-
 13 files changed, 53 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index f017ac8..4645949 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -2578,7 +2578,7 @@
 				DYLIB_INSTALL_NAME_BASE = "@rpath";
 				GCC_PREFIX_HEADER = "WeexSDK/Sources/Supporting Files/WeexSDK-Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
-				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/WeexSDK/Dependency",
@@ -2623,7 +2623,7 @@
 				DYLIB_INSTALL_NAME_BASE = "@rpath";
 				GCC_PREFIX_HEADER = "WeexSDK/Sources/Supporting Files/WeexSDK-Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
-				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/WeexSDK/Dependency",

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
index 3fff954..0cb9039 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
@@ -226,11 +226,11 @@ WX_EXPORT_METHOD(@selector(setTextFormatter:))
     [self setEditSelectionRange:selectionStart selectionEnd:selectionEnd];
 }
 
--(void)getSelectionRange:(WXCallback)callback
+-(void)getSelectionRange:(WXKeepAliveCallback)callback
 {
     NSDictionary *res = [self getEditSelectionRange];
     if(callback) {
-        callback(res);
+        callback(res,NO);
     }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index 257aec6..3f79791 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -140,7 +140,7 @@ WX_EXPORT_METHOD(@selector(save:))
     }
 }
 
-- (void)save:(WXCallback)resultCallback
+- (void)save:(WXKeepAliveCallback)resultCallback
 {
     NSDictionary *info = [NSBundle mainBundle].infoDictionary;
     if(!info[@"NSPhotoLibraryUsageDescription"]) {
@@ -148,7 +148,7 @@ WX_EXPORT_METHOD(@selector(save:))
             resultCallback(@{
                              @"success" : @(false),
                              @"errorDesc": @"This maybe crash above iOS 10 because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data."
-                             });
+                             }, NO);
         }
         return ;
     }
@@ -160,7 +160,7 @@ WX_EXPORT_METHOD(@selector(save:))
                 resultCallback(@{
                                  @"success" : @(false),
                                  @"errorDesc": @"This maybe crash above iOS 10 because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data."
-                                 });
+                                 }, NO);
             }
             return;
         }
@@ -169,7 +169,7 @@ WX_EXPORT_METHOD(@selector(save:))
     if (![self isViewLoaded]) {
         if (resultCallback) {
             resultCallback(@{@"success": @(false),
-                             @"errorDesc":@"the image is not ready"});
+                             @"errorDesc":@"the image is not ready"}, NO);
         }
         return;
     }
@@ -197,7 +197,7 @@ WX_EXPORT_METHOD(@selector(save:))
     }
     if (contextInfo) {
         [callbackResult setObject:@(success) forKey:@"success"];
-        ((__bridge WXCallback)contextInfo)(callbackResult);
+        ((__bridge WXKeepAliveCallback)contextInfo)(callbackResult, NO);
         CFRelease(contextInfo);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.h b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.h
index e5082da..3a5b2ec 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.h
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.h
@@ -21,5 +21,5 @@
 #import "WXModuleProtocol.h"
 
 @interface WXAnimationModule : NSObject <WXModuleProtocol>
-- (void)animation:(WXComponent *)targetComponent args:(NSDictionary *)args callback:(WXModuleCallback)callback;
+- (void)animation:(WXComponent *)targetComponent args:(NSDictionary *)args callback:(WXModuleKeepAliveCallback)callback;
 @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index 46ff00b..9d5812d 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -146,7 +146,7 @@
 
 WX_EXPORT_METHOD(@selector(transition:args:callback:))
 
-- (void)transition:(NSString *)nodeRef args:(NSDictionary *)args callback:(WXModuleCallback)callback
+- (void)transition:(NSString *)nodeRef args:(NSDictionary *)args callback:(WXModuleKeepAliveCallback)callback
 {
     _needLayout = NO;
     _isAnimationedSuccess = YES;
@@ -156,7 +156,7 @@ WX_EXPORT_METHOD(@selector(transition:args:callback:))
             if (callback) {
                 NSDictionary *message = @{@"result":@"Fail",
                                           @"message":[NSString stringWithFormat:@"No component find for ref:%@", nodeRef]};
-                callback(message);
+                callback(message, NO);
             }
             return;
         }
@@ -329,7 +329,7 @@ WX_EXPORT_METHOD(@selector(transition:args:callback:))
     [target _modifyStyles:styles];
     
 }
-- (void)animation:(WXComponent *)targetComponent args:(NSDictionary *)args callback:(WXModuleCallback)callback
+- (void)animation:(WXComponent *)targetComponent args:(NSDictionary *)args callback:(WXModuleKeepAliveCallback)callback
 {
     /**
        UIView-style animation functions support the standard timing functions,
@@ -350,7 +350,7 @@ WX_EXPORT_METHOD(@selector(transition:args:callback:))
                 message = @{@"result":@"Fail",
                             @"message":@"Animation did not complete"};
             }
-            callback(message);
+            callback(message,NO);
         }
     }];
     NSArray<WXAnimationInfo *> *infos = [self animationInfoArrayFromArgs:args target:targetComponent];

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXClipboardModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXClipboardModule.m b/ios/sdk/WeexSDK/Sources/Module/WXClipboardModule.m
index 850bb87..7b7fcb1 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXClipboardModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXClipboardModule.m
@@ -34,7 +34,7 @@ WX_EXPORT_METHOD(@selector(getString:))
     clipboard.string = (content ? : @"");
 }
 
-- (void)getString:(WXModuleCallback)callback{
+- (void)getString:(WXModuleKeepAliveCallback)callback{
     UIPasteboard *clipboard = [UIPasteboard generalPasteboard];
     NSDictionary *result = [@{} mutableCopy];
     if(clipboard.string)
@@ -47,7 +47,7 @@ WX_EXPORT_METHOD(@selector(getString:))
         [result setValue:@"fail" forKey:@"result"];
     }
     if (callback) {
-        callback(result);
+        callback(result, NO);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m b/ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m
index cb1d433..2ea918b 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXLocaleModule.m
@@ -27,9 +27,9 @@ WX_EXPORT_METHOD_SYNC(@selector(getLanguages))
 /**
  Get preferred language of the user
  */
-- (NSString *)getLanguage:(WXCallback)callback {
+- (NSString *)getLanguage:(WXKeepAliveCallback)callback {
     if (callback) {
-        callback([NSLocale preferredLanguages][0]);
+        callback([NSLocale preferredLanguages][0], NO);
     }
 	return [NSLocale preferredLanguages][0];
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m b/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m
index d3c547c..d930592 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m
@@ -239,7 +239,7 @@ static const CGFloat WXToastDefaultPadding = 30.0;
 
 #pragma mark - Alert
 
-- (void)alert:(NSDictionary *)param callback:(WXModuleCallback)callback
+- (void)alert:(NSDictionary *)param callback:(WXModuleKeepAliveCallback)callback
 {
     NSString *message = [self stringValue:param[@"message"]];
     NSString *okTitle = [self stringValue:param[@"okTitle"]];
@@ -253,7 +253,7 @@ static const CGFloat WXToastDefaultPadding = 30.0;
 
 #pragma mark - Confirm
 
-- (void)confirm:(NSDictionary *)param callback:(WXModuleCallback)callback
+- (void)confirm:(NSDictionary *)param callback:(WXModuleKeepAliveCallback)callback
 {
     NSString *message = [self stringValue:param[@"message"]];
     NSString *okTitle = [self stringValue:param[@"okTitle"]];
@@ -271,7 +271,7 @@ static const CGFloat WXToastDefaultPadding = 30.0;
 
 #pragma mark - Prompt
 
-- (void)prompt:(NSDictionary *)param callback:(WXModuleCallback)callback
+- (void)prompt:(NSDictionary *)param callback:(WXModuleKeepAliveCallback)callback
 {
     NSString *message = [self stringValue:param[@"message"]];
     NSString *defaultValue = [self stringValue:param[@"default"]];
@@ -291,11 +291,11 @@ static const CGFloat WXToastDefaultPadding = 30.0;
 
 #pragma mark - Private
 
-- (void)alert:(NSString *)message okTitle:(NSString *)okTitle cancelTitle:(NSString *)cancelTitle defaultText:(NSString *)defaultText type:(WXModalType)type callback:(WXModuleCallback)callback
+- (void)alert:(NSString *)message okTitle:(NSString *)okTitle cancelTitle:(NSString *)cancelTitle defaultText:(NSString *)defaultText type:(WXModalType)type callback:(WXModuleKeepAliveCallback)callback
 {
     if (!message) {
         if (callback) {
-            callback(@"Error: message should be passed correctly.");
+            callback(@"Error: message should be passed correctly.",NO);
         }
         return;
     }
@@ -317,7 +317,7 @@ static const CGFloat WXToastDefaultPadding = 30.0;
 
 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
 {
-    WXModuleCallback callback = objc_getAssociatedObject(alertView, &WXModalCallbackKey);
+    WXModuleKeepAliveCallback callback = objc_getAssociatedObject(alertView, &WXModalCallbackKey);
     if (!callback) return;
     
     id result = @"";
@@ -341,7 +341,7 @@ static const CGFloat WXToastDefaultPadding = 30.0;
             break;
     }
     
-    callback(result);
+    callback(result,NO);
     
     [_alertViews removeObject:alertView];
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index 85c917f..52fdf59 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -53,7 +53,7 @@
 @property(nonatomic,copy)NSArray *items;
 @property(nonatomic)BOOL isAnimating;
 @property(nonatomic)NSInteger index;
-@property(nonatomic,copy)WXModuleCallback callback;
+@property(nonatomic,copy)WXModuleKeepAliveCallback callback;
 
 //date picker
 @property(nonatomic,strong)UIDatePicker *datePicker;
@@ -82,7 +82,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     }
 }
 
--(void)pick:(NSDictionary *)options callback:(WXModuleCallback)callback
+-(void)pick:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback
 {
     if (UIAccessibilityIsVoiceOverRunning()) {
         [self handleA11yFocusback:options];
@@ -133,7 +133,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
         self.callback = callback;
     } else {
         if (callback) {
-            callback(@{ @"result": @"error" });
+            callback(@{ @"result": @"error" },NO);
         }
         self.callback = nil;
     }
@@ -228,7 +228,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
     [self hide];
     if (self.callback) {
-        self.callback(@{ @"result": @"cancel"});
+        self.callback(@{ @"result": @"cancel"},NO);
         self.callback=nil;
     }
 }
@@ -237,7 +237,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
     [self hide];
     if (self.callback) {
-        self.callback(@{ @"result": @"success",@"data":[NSNumber numberWithInteger:self.index]});
+        self.callback(@{ @"result": @"success",@"data":[NSNumber numberWithInteger:self.index]},NO);
         self.callback=nil;
     }
 }
@@ -391,7 +391,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 
 #pragma mark -
 #pragma Date & Time Picker
--(void)pickDate:(NSDictionary *)options callback:(WXModuleCallback)callback
+-(void)pickDate:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback
 {
     if (UIAccessibilityIsVoiceOverRunning()) {
         [self handleA11yFocusback:options];
@@ -401,7 +401,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     [self datepick:options callback:callback];
 }
 
--(void)pickTime:(NSDictionary *)options callback:(WXModuleCallback)callback
+-(void)pickTime:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback
 {
     if (UIAccessibilityIsVoiceOverRunning()) {
         [self handleA11yFocusback:options];
@@ -411,19 +411,19 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     [self datepick:options callback:callback];
 }
     
--(void)datepick:(NSDictionary *)options callback:(WXModuleCallback)callback
+-(void)datepick:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback
 {
     if ((UIDatePickerModeTime == self.datePickerMode) || (UIDatePickerModeDate == self.datePickerMode)) {
         [self createDatePicker:options callback:callback];
     } else {
         if (callback) {
-            callback(@{ @"result": @"error" });
+            callback(@{ @"result": @"error" },NO);
         }
         self.callback = nil;
     }
 }
 
-- (void)createDatePicker:(NSDictionary *)options callback:(WXModuleCallback)callback
+- (void)createDatePicker:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback
 {
     self.callback = callback;
     self.datePicker = [[UIDatePicker alloc]init];
@@ -490,7 +490,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
     [self hide];
     if (self.callback) {
-        self.callback(@{ @"result": @"cancel"});
+        self.callback(@{ @"result": @"cancel"},NO);
         self.callback = nil;
     }
 }
@@ -506,7 +506,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
         value = [WXUtility dateToString:self.datePicker.date];
     }
     if (self.callback) {
-        self.callback(@{ @"result": @"success",@"data":value});
+        self.callback(@{ @"result": @"success",@"data":value},NO);
         self.callback=nil;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h
index 213ee93..41aef2b 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h
+++ b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h
@@ -22,7 +22,7 @@
 
 @interface WXStreamModule : NSObject <WXModuleProtocol>
 
-- (void)fetch:(NSDictionary *)options callback:(WXModuleCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback;
-- (void)sendHttp:(NSDictionary*)param callback:(WXModuleCallback)callback DEPRECATED_MSG_ATTRIBUTE("Use fetch method instead.");
+- (void)fetch:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback;
+- (void)sendHttp:(NSDictionary*)param callback:(WXModuleKeepAliveCallback)callback DEPRECATED_MSG_ATTRIBUTE("Use fetch method instead.");
 
 @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
index bd96806..046d683 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
@@ -34,7 +34,7 @@ WX_EXPORT_METHOD(@selector(sendHttp:callback:))
 WX_EXPORT_METHOD(@selector(fetch:callback:progressCallback:))
 WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallback:))
 
-- (void)fetch:(NSDictionary *)options callback:(WXModuleCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback
+- (void)fetch:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback
 {
     __block NSInteger received = 0;
     __block NSHTTPURLResponse *httpResponse = nil;
@@ -45,7 +45,7 @@ WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallbac
     WXResourceRequest * request = [self _buildRequestWithOptions:options callbackRsp:callbackRsp];
     if (!request) {
         if (callback) {
-            callback(callbackRsp);
+            callback(callbackRsp, NO);
         }
         // failed with some invaild inputs
         return ;
@@ -87,21 +87,21 @@ WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallbac
     loader.onFinished = ^(const WXResourceResponse * response, NSData *data) {
         if (weakSelf && callback) {
              [weakSelf _loadFinishWithResponse:[response copy] data:data callbackRsp:callbackRsp];
-             callback(callbackRsp);
+             callback(callbackRsp, NO);
         }
     };
     
     loader.onFailed = ^(NSError *error) {
         if (weakSelf && callback) {
             [weakSelf _loadFailedWithError:error callbackRsp:callbackRsp];
-            callback(callbackRsp);
+            callback(callbackRsp, NO);
         }
     };
     
     [loader start];
 }
 
-- (void)fetchWithArrayBuffer:(id)arrayBuffer options:(NSDictionary *)options callback:(WXModuleCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback
+- (void)fetchWithArrayBuffer:(id)arrayBuffer options:(NSDictionary *)options callback:(WXModuleKeepAliveCallback)callback progressCallback:(WXModuleKeepAliveCallback)progressCallback
 {
     NSMutableDictionary *newOptions = [options mutableCopy];
     if([arrayBuffer isKindOfClass:[NSDictionary class]]){
@@ -410,7 +410,7 @@ WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallbac
 
 #pragma mark - Deprecated
 
-- (void)sendHttp:(NSDictionary*)param callback:(WXModuleCallback)callback
+- (void)sendHttp:(NSDictionary*)param callback:(WXModuleKeepAliveCallback)callback
 {
     NSString* method = [param objectForKey:@"method"];
     NSString* urlStr = [param objectForKey:@"url"];
@@ -434,12 +434,12 @@ WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallbac
     WXResourceLoader *loader = [[WXResourceLoader alloc] initWithRequest:request];
     loader.onFinished = ^(const WXResourceResponse * response, NSData *data) {
         NSString* responseData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-        callback(responseData);
+        callback(responseData,NO);
     };
     
     loader.onFailed = ^(NSError *error) {
         if (callback) {
-            callback(nil);
+            callback(nil,NO);
         }
     };
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDK/Sources/Module/WXVoiceOverModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXVoiceOverModule.m b/ios/sdk/WeexSDK/Sources/Module/WXVoiceOverModule.m
index 84db244..05e270e 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXVoiceOverModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXVoiceOverModule.m
@@ -43,7 +43,7 @@ WX_EXPORT_METHOD_SYNC(@selector(isVoiceOverOn))
     }
     return self;
 }
-- (void)read:(NSDictionary*)param callback:(WXCallback)callback
+- (void)read:(NSDictionary*)param callback:(WXKeepAliveCallback)callback
 {
     if (![param isKindOfClass:[NSDictionary class]]) {
         WXLogError(@"first param must be json type");
@@ -58,7 +58,7 @@ WX_EXPORT_METHOD_SYNC(@selector(isVoiceOverOn))
         NSString * errorDesc = @"you didn't specify any value to read";
         WXLogError(@"%@", errorDesc);
         if (callback) {
-            callback(@{@"success":@false,@"errorDesc": errorDesc});
+            callback(@{@"success":@false,@"errorDesc": errorDesc}, NO);
         }
         return;
     }
@@ -67,7 +67,7 @@ WX_EXPORT_METHOD_SYNC(@selector(isVoiceOverOn))
         NSString * errorDesc = @"please check the voice status";
         WXLogInfo(@"%@",errorDesc);
         if (callback) {
-            callback(@{@"success":@false, @"errorDesc":errorDesc});
+            callback(@{@"success":@false, @"errorDesc":errorDesc}, NO);
         }
         return;
     }
@@ -107,9 +107,9 @@ WX_EXPORT_METHOD_SYNC(@selector(isVoiceOverOn))
         return;
     }
     
-    for (WXCallback callback in callbacks) {
+    for (WXKeepAliveCallback callback in callbacks) {
         callback(@{@"success":@(announcementResult),
-                   @"value":string});
+                   @"value":string}, NO);
     }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b48c23d6/ios/sdk/WeexSDKTests/WXStreamModuleTests.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDKTests/WXStreamModuleTests.m b/ios/sdk/WeexSDKTests/WXStreamModuleTests.m
index 6c6dada..40c32a8 100644
--- a/ios/sdk/WeexSDKTests/WXStreamModuleTests.m
+++ b/ios/sdk/WeexSDKTests/WXStreamModuleTests.m
@@ -44,7 +44,7 @@
 
 - (void)fetch:(NSDictionary*)options {
     __block id callbackRet = nil, progressCallbackRet = nil;
-    [_streamModule fetch:options callback:^(id result) {
+    [_streamModule fetch:options callback:^(id result,BOOL keepAlive) {
         callbackRet = result;
     } progressCallback:^(id result, BOOL keepAlive) {
         progressCallbackRet = result;