[iOS] Dark support, change 'theme' to 'scheme' and add '-weex' prefix to styles.
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
index 6280db6..dee6a8c 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
@@ -50,11 +50,11 @@
      *  View
      */
     UIColor *_styleBackgroundColor;
-    UIColor *_darkThemeBackgroundColor;
-    UIColor *_lightThemeBackgroundColor;
+    UIColor *_darkSchemeBackgroundColor;
+    UIColor *_lightSchemeBackgroundColor;
     NSString *_backgroundImage;
-    NSString *_darkThemeBackgroundImage;
-    NSString *_lightThemeBackgroundImage;
+    NSString *_darkSchemeBackgroundImage;
+    NSString *_lightSchemeBackgroundImage;
     NSString *_clipRadius;
     WXClipType _clipToBounds;
     UIView *_view;
@@ -63,8 +63,8 @@
     WXBoxShadow *_originalBoxShadow;
     WXBoxShadow *_lastBoxShadow;
     WXBoxShadow *_boxShadow;
-    WXBoxShadow *_darkThemeBoxShadow;
-    WXBoxShadow *_lightThemeBoxShadow;
+    WXBoxShadow *_darkSchemeBoxShadow;
+    WXBoxShadow *_lightSchemeBoxShadow;
     
     /**
      * accessibility support
@@ -121,17 +121,17 @@
     WXThreadSafeCounter *_displayCounter;
     
     UIColor *_borderTopColor;
-    UIColor *_darkThemeBorderTopColor;
-    UIColor *_lightThemeBorderTopColor;
+    UIColor *_darkSchemeBorderTopColor;
+    UIColor *_lightSchemeBorderTopColor;
     UIColor *_borderRightColor;
-    UIColor *_darkThemeBorderRightColor;
-    UIColor *_lightThemeBorderRightColor;
+    UIColor *_darkSchemeBorderRightColor;
+    UIColor *_lightSchemeBorderRightColor;
     UIColor *_borderLeftColor;
-    UIColor *_darkThemeBorderLeftColor;
-    UIColor *_lightThemeBorderLeftColor;
+    UIColor *_darkSchemeBorderLeftColor;
+    UIColor *_lightSchemeBorderLeftColor;
     UIColor *_borderBottomColor;
-    UIColor *_darkThemeBorderBottomColor;
-    UIColor *_lightThemeBorderBottomColor;
+    UIColor *_darkSchemeBorderBottomColor;
+    UIColor *_lightSchemeBorderBottomColor;
     
     CGFloat _borderTopWidth;
     CGFloat _borderRightWidth;
@@ -193,8 +193,8 @@
  DO NOT use "_backgroundColor" directly. The same reason as '_transform'.
  */
 @property (atomic, strong) UIColor* styleBackgroundColor;
-@property (atomic, strong) UIColor* darkThemeBackgroundColor;
-@property (atomic, strong) UIColor* lightThemeBackgroundColor;
+@property (atomic, strong) UIColor* darkSchemeBackgroundColor;
+@property (atomic, strong) UIColor* lightSchemeBackgroundColor;
 
 ///--------------------------------------
 /// @name Package Internal Methods
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index 436ac1c..54700e0 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -58,11 +58,11 @@
 }
 
 @property (atomic, strong) NSString *src;
-@property (atomic, strong) NSString *darkThemeSrc;
-@property (atomic, strong) NSString *lightThemeSrc;
+@property (atomic, strong) NSString *darkSchemeSrc;
+@property (atomic, strong) NSString *lightSchemeSrc;
 @property (atomic, strong) NSString *placeholdSrc;
-@property (atomic, strong) NSString *darkThemePlaceholderSrc;
-@property (atomic, strong) NSString *lightThemePlaceholderSrc;
+@property (atomic, strong) NSString *darkSchemePlaceholderSrc;
+@property (atomic, strong) NSString *lightSchemePlaceholderSrc;
 @property (nonatomic, assign) CGFloat blurRadius;
 @property (nonatomic, assign) UIViewContentMode resizeMode;
 @property (nonatomic, assign) WXImageQuality imageQuality;
@@ -95,11 +95,11 @@
         } else {
             WXLogWarning(@"image src is nil");
         }
-        if (attributes[@"darkThemeSrc"]) {
-            self.darkThemeSrc = [[WXConvert NSString:attributes[@"darkThemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+        if (attributes[@"darkSchemeSrc"]) {
+            self.darkSchemeSrc = [[WXConvert NSString:attributes[@"darkSchemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
         }
-        if (attributes[@"lightThemeSrc"]) {
-            self.lightThemeSrc = [[WXConvert NSString:attributes[@"lightThemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+        if (attributes[@"lightSchemeSrc"]) {
+            self.lightSchemeSrc = [[WXConvert NSString:attributes[@"lightSchemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
         }
         
         [self configPlaceHolder:attributes];
@@ -138,11 +138,11 @@
     if (attributes[@"placeHolder"] || attributes[@"placeholder"]) {
         self.placeholdSrc = [[WXConvert NSString:attributes[@"placeHolder"]?:attributes[@"placeholder"]]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     }
-    if (attributes[@"darkThemePlaceholder"]) {
-        self.darkThemePlaceholderSrc = [[WXConvert NSString:attributes[@"darkThemePlaceholder"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+    if (attributes[@"darkSchemePlaceholder"]) {
+        self.darkSchemePlaceholderSrc = [[WXConvert NSString:attributes[@"darkSchemePlaceholder"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     }
-    if (attributes[@"lightThemePlaceholder"]) {
-        self.lightThemePlaceholderSrc = [[WXConvert NSString:attributes[@"lightThemePlaceholder"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+    if (attributes[@"lightSchemePlaceholder"]) {
+        self.lightSchemePlaceholderSrc = [[WXConvert NSString:attributes[@"lightSchemePlaceholder"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     }
 }
 
@@ -271,11 +271,11 @@
 
 - (void)updateAttributes:(NSDictionary *)attributes
 {
-    if (attributes[@"darkThemeSrc"]) {
-        self.darkThemeSrc = [[WXConvert NSString:attributes[@"darkThemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+    if (attributes[@"darkSchemeSrc"]) {
+        self.darkSchemeSrc = [[WXConvert NSString:attributes[@"darkSchemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     }
-    if (attributes[@"lightThemeSrc"]) {
-        self.lightThemeSrc = [[WXConvert NSString:attributes[@"lightThemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+    if (attributes[@"lightSchemeSrc"]) {
+        self.lightSchemeSrc = [[WXConvert NSString:attributes[@"lightSchemeSrc"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     }
     if (attributes[@"src"]) {
         [self setImageSrc:[[WXConvert NSString:attributes[@"src"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
@@ -308,12 +308,12 @@
     [self updateImage];
 }
 
-- (void)themeDidChange:(NSString*)theme
+- (void)schemeDidChange:(NSString*)scheme
 {
-    [super themeDidChange:theme];
+    [super schemeDidChange:scheme];
     if (_view) {
-        if (self.darkThemeSrc || self.darkThemePlaceholderSrc ||
-            self.lightThemeSrc || self.lightThemePlaceholderSrc) {
+        if (self.darkSchemeSrc || self.darkSchemePlaceholderSrc ||
+            self.lightSchemeSrc || self.lightSchemePlaceholderSrc) {
             [self updateImage];
         }
     }
@@ -405,7 +405,7 @@
 
 - (NSString*)chooseImage:(NSString*)src lightSrc:(NSString*)lightSrc darkSrc:(NSString*)darkSrc
 {
-    if ([self.weexInstance isDarkTheme]) {
+    if ([self.weexInstance isDarkScheme]) {
         if (darkSrc) {
             return darkSrc;
         }
@@ -428,8 +428,8 @@
         return;
     }
     
-    NSString* choosedSrc = [self chooseImage:self.src lightSrc:self.lightThemeSrc darkSrc:self.darkThemeSrc];
-    NSString* choosedPlaceholder = [self chooseImage:self.placeholdSrc lightSrc:self.lightThemePlaceholderSrc darkSrc:self.darkThemePlaceholderSrc];
+    NSString* choosedSrc = [self chooseImage:self.src lightSrc:self.lightSchemeSrc darkSrc:self.darkSchemeSrc];
+    NSString* choosedPlaceholder = [self chooseImage:self.placeholdSrc lightSrc:self.lightSchemePlaceholderSrc darkSrc:self.darkSchemePlaceholderSrc];
     
     __weak typeof(self) weakSelf = self;
     if (_downloadImageWithURL && [[self imageLoader] respondsToSelector:@selector(setImageViewWithURL:url:placeholderImage:options:progress:completed:)]) {
@@ -560,7 +560,7 @@
 
 - (void)updatePlaceHolderWithFailedBlock:(void(^)(NSString *, NSError *))downloadFailedBlock
 {
-    NSString* choosedPlaceholder = [self chooseImage:self.placeholdSrc lightSrc:self.lightThemePlaceholderSrc darkSrc:self.darkThemePlaceholderSrc];
+    NSString* choosedPlaceholder = [self chooseImage:self.placeholdSrc lightSrc:self.lightSchemePlaceholderSrc darkSrc:self.darkSchemePlaceholderSrc];
     
     if ([WXUtility isBlankString:choosedPlaceholder]) {
         return;
@@ -590,7 +590,7 @@
                 return;
             }
             
-            NSString* currentPlaceholder = [strongSelf chooseImage:strongSelf.placeholdSrc lightSrc:strongSelf.lightThemePlaceholderSrc darkSrc:strongSelf.darkThemePlaceholderSrc];
+            NSString* currentPlaceholder = [strongSelf chooseImage:strongSelf.placeholdSrc lightSrc:strongSelf.lightSchemePlaceholderSrc darkSrc:strongSelf.darkSchemePlaceholderSrc];
             if (![choosedPlaceholder isEqualToString:currentPlaceholder]) {
                 return;
             }
@@ -609,7 +609,7 @@
 
 - (void)updateContentImageWithFailedBlock:(void(^)(NSString *, NSError *))downloadFailedBlock
 {
-    NSString* choosedSrc = [self chooseImage:self.src lightSrc:self.lightThemeSrc darkSrc:self.darkThemeSrc];
+    NSString* choosedSrc = [self chooseImage:self.src lightSrc:self.lightSchemeSrc darkSrc:self.darkSchemeSrc];
     
     if ([WXUtility isBlankString:choosedSrc]) {
         WXLogError(@"image src is empty");
@@ -646,7 +646,7 @@
                 return ;
             }
             
-            NSString* currentSrc = [strongSelf chooseImage:strongSelf.src lightSrc:strongSelf.lightThemeSrc darkSrc:strongSelf.darkThemeSrc];
+            NSString* currentSrc = [strongSelf chooseImage:strongSelf.src lightSrc:strongSelf.lightSchemeSrc darkSrc:strongSelf.darkSchemeSrc];
             if (![choosedSrc isEqualToString:currentSrc]) {
                 return ;
             }
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXRichText.mm b/ios/sdk/WeexSDK/Sources/Component/WXRichText.mm
index fa5a750..341c2a7 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXRichText.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/WXRichText.mm
@@ -27,7 +27,7 @@
 #import "WXImgLoaderProtocol.h"
 #import "WXComponentManager.h"
 #import "WXLog.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 #include <pthread/pthread.h>
 
 @interface WXRichNode : NSObject
@@ -36,11 +36,11 @@
 @property (nonatomic, strong) NSString  *ref;
 @property (nonatomic, strong) NSString  *text;
 @property (nonatomic, strong) UIColor   *color;
-@property (nonatomic, strong) UIColor   *darkThemeColor;
-@property (nonatomic, strong) UIColor   *lightThemeColor;
+@property (nonatomic, strong) UIColor   *darkSchemeColor;
+@property (nonatomic, strong) UIColor   *lightSchemeColor;
 @property (nonatomic, strong) UIColor   *backgroundColor;
-@property (nonatomic, strong) UIColor   *darkThemeBackgroundColor;
-@property (nonatomic, strong) UIColor   *lightThemeBackgroundColor;
+@property (nonatomic, strong) UIColor   *darkSchemeBackgroundColor;
+@property (nonatomic, strong) UIColor   *lightSchemeBackgroundColor;
 @property (nonatomic, strong) NSString  *fontFamily;
 @property (nonatomic, assign) CGFloat   fontSize;
 @property (nonatomic, assign) CGFloat   fontWeight;
@@ -97,7 +97,7 @@
     if (value) { \
         node.key = [WXConvert type:value];\
     } else if (!([@#key isEqualToString:@"backgroundColor"] || \
-        [@#key isEqualToString:@"darkThemeBackgroundColor"] || \
+        [@#key isEqualToString:@"weexDarkSchemeBackgroundColor"] || \
         [@#key isEqualToString:@"textDecoration"]) && superNode.key ) { \
         node.key = superNode.key; \
     } \
@@ -197,11 +197,11 @@
 - (void)fillCSSStyles:(NSDictionary *)styles toNode:(WXRichNode *)node superNode:(WXRichNode *)superNode
 {
     WX_STYLE_FILL_RICHTEXT(color, UIColor)
-    WX_STYLE_FILL_RICHTEXT(darkThemeColor, UIColor)
-    WX_STYLE_FILL_RICHTEXT(lightThemeColor, UIColor)
+    WX_STYLE_FILL_RICHTEXT(darkSchemeColor, UIColor)
+    WX_STYLE_FILL_RICHTEXT(lightSchemeColor, UIColor)
     WX_STYLE_FILL_RICHTEXT(backgroundColor, UIColor)
-    WX_STYLE_FILL_RICHTEXT(darkThemeBackgroundColor, UIColor)
-    WX_STYLE_FILL_RICHTEXT(lightThemeBackgroundColor, UIColor)
+    WX_STYLE_FILL_RICHTEXT(darkSchemeBackgroundColor, UIColor)
+    WX_STYLE_FILL_RICHTEXT(lightSchemeBackgroundColor, UIColor)
     WX_STYLE_FILL_RICHTEXT(fontFamily, NSString)
     WX_STYLE_FILL_RICHTEXT_PIXEL(fontSize)
     WX_STYLE_FILL_RICHTEXT(fontWeight, WXTextWeight)
@@ -432,9 +432,9 @@
     };
 }
 
-- (void)themeDidChange:(NSString*)theme
+- (void)schemeDidChange:(NSString*)scheme
 {
-    [super themeDidChange:theme];
+    [super schemeDidChange:scheme];
     if ([self isViewLoaded]) {
         // Force inner layout
         [self innerLayout];
@@ -459,14 +459,14 @@
     NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] init];
     NSUInteger location;
     
-    BOOL invert = self.invertForDarkTheme;
+    BOOL invert = self.invertForDarkScheme;
     
     // Invert default background color.
     UIColor* defaultTextColor = [UIColor blackColor];
     UIColor* defaultBackgroundColor = _backgroundColor;
-    if (invert && [self.weexInstance isDarkTheme]) {
-        defaultTextColor = [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:[UIColor blackColor] ofScene:[self colorSceneType] withDefault:[UIColor blackColor]];
-        defaultBackgroundColor = [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:_backgroundColor ofScene:[self colorSceneType] withDefault:_backgroundColor];
+    if (invert && [self.weexInstance isDarkScheme]) {
+        defaultTextColor = [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:[UIColor blackColor] ofScene:[self colorSceneType] withDefault:[UIColor blackColor]];
+        defaultBackgroundColor = [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:_backgroundColor ofScene:[self colorSceneType] withDefault:_backgroundColor];
     }
     
     __weak typeof(self) weakSelf = self;
@@ -479,8 +479,8 @@
                 [attrStr.mutableString appendString:text];
                 
                 NSRange range = NSMakeRange(location, text.length);
-                UIColor* textColor = [self.weexInstance chooseColor:node.color lightThemeColor:node.lightThemeColor darkThemeColor:node.darkThemeColor invert:invert scene:[self colorSceneType]];
-                UIColor* bgColor = [self.weexInstance chooseColor:node.backgroundColor lightThemeColor:node.lightThemeBackgroundColor darkThemeColor:node.darkThemeBackgroundColor invert:invert scene:[self colorSceneType]];
+                UIColor* textColor = [self.weexInstance chooseColor:node.color lightSchemeColor:node.lightSchemeColor darkSchemeColor:node.darkSchemeColor invert:invert scene:[self colorSceneType]];
+                UIColor* bgColor = [self.weexInstance chooseColor:node.backgroundColor lightSchemeColor:node.lightSchemeBackgroundColor darkSchemeColor:node.darkSchemeBackgroundColor invert:invert scene:[self colorSceneType]];
                 [attrStr addAttribute:NSForegroundColorAttributeName value:textColor ?: defaultTextColor range:range];
                 [attrStr addAttribute:NSBackgroundColorAttributeName value:bgColor ?: defaultBackgroundColor range:range];
                 
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.mm
index 4d6e52e..c937680 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.mm
@@ -121,8 +121,8 @@
 @interface WXTextComponent()
 @property (atomic, strong) NSString *fontFamily;
 @property (atomic, strong) UIColor *textColor;
-@property (atomic, strong) UIColor *darkThemeTextColor;
-@property (atomic, strong) UIColor *lightThemeTextColor;
+@property (atomic, strong) UIColor *darkSchemeTextColor;
+@property (atomic, strong) UIColor *lightSchemeTextColor;
 @end
 
 @implementation WXTextComponent
@@ -282,7 +282,7 @@
 
     do {
         UIColor* color = nil;
-        id value = styles[@"darkThemeColor"];
+        id value = styles[@"weexDarkSchemeColor"];
         if (value) {
             if([WXUtility isBlankString:value]){
                 color = [UIColor blackColor];
@@ -290,7 +290,7 @@
                 color = [WXConvert UIColor:value];
             }
             if (color) {
-                self.darkThemeTextColor = color;
+                self.darkSchemeTextColor = color;
                 [self setNeedsRepaint];
             }
         }
@@ -298,7 +298,7 @@
     
     do {
         UIColor* color = nil;
-        id value = styles[@"lightThemeColor"];
+        id value = styles[@"weexLightSchemeColor"];
         if (value) {
             if([WXUtility isBlankString:value]){
                 color = [UIColor blackColor];
@@ -306,7 +306,7 @@
                 color = [WXConvert UIColor:value];
             }
             if (color) {
-                self.lightThemeTextColor = color;
+                self.lightSchemeTextColor = color;
                 [self setNeedsRepaint];
             }
         }
@@ -403,10 +403,10 @@
     [self setNeedsRepaint];
 }
 
-- (void)themeDidChange:(NSString*)theme
+- (void)schemeDidChange:(NSString*)scheme
 {
     [self setNeedsRepaint];
-    [super themeDidChange:theme];
+    [super schemeDidChange:scheme];
     if (_view) {
         [self setNeedsDisplay];
     }
@@ -543,7 +543,7 @@
         string = @"";
     }
     NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString: string];
-    UIColor* textColor = [self.weexInstance chooseColor:self.textColor lightThemeColor:self.lightThemeTextColor darkThemeColor:self.darkThemeTextColor invert:self.invertForDarkTheme scene:[self colorSceneType]];
+    UIColor* textColor = [self.weexInstance chooseColor:self.textColor lightSchemeColor:self.lightSchemeTextColor darkSchemeColor:self.darkSchemeTextColor invert:self.invertForDarkScheme scene:[self colorSceneType]];
     if (textColor) {
         [attributedString addAttribute:NSForegroundColorAttributeName value:textColor range:NSMakeRange(0, string.length)];
     }
@@ -632,7 +632,7 @@
     NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string];
     
     // set textColor
-    UIColor* textColor = [self.weexInstance chooseColor:self.textColor lightThemeColor:self.lightThemeTextColor darkThemeColor:self.darkThemeTextColor invert:self.invertForDarkTheme scene:[self colorSceneType]];
+    UIColor* textColor = [self.weexInstance chooseColor:self.textColor lightSchemeColor:self.lightSchemeTextColor darkSchemeColor:self.darkSchemeTextColor invert:self.invertForDarkScheme scene:[self colorSceneType]];
     if (textColor) {
         [attributedString addAttribute:NSForegroundColorAttributeName value:textColor range:NSMakeRange(0, string.length)];
     }
@@ -1163,12 +1163,12 @@
         self.textColor = [UIColor blackColor];
         [self setNeedsRepaint];
     }
-    if ([styles containsObject:@"darkThemeColor"]) {
-        self.darkThemeTextColor = nil;
+    if ([styles containsObject:@"weexDarkSchemeColor"]) {
+        self.darkSchemeTextColor = nil;
         [self setNeedsRepaint];
     }
-    if ([styles containsObject:@"lightThemeColor"]) {
-        self.lightThemeTextColor = nil;
+    if ([styles containsObject:@"weexLightSchemeColor"]) {
+        self.lightSchemeTextColor = nil;
         [self setNeedsRepaint];
     }
     if ([styles containsObject:@"fontSize"]) {
diff --git a/ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m b/ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m
index 964e059..2251731 100644
--- a/ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m
+++ b/ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m
@@ -29,7 +29,7 @@
 #import "UIBezierPath+Weex.h"
 #import "WXRoundedRect.h"
 #import "WXSDKInstance.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 #import "WXHandlerFactory.h"
 
 #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
@@ -104,13 +104,13 @@
     WXAssertMainThread();
 }
 
-- (void)themeDidChange:(NSString*)theme
+- (void)schemeDidChange:(NSString*)scheme
 {
     WXAssertMainThread();
     if (_view) {
         if (![self _needsDrawBorder]) {
-            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightThemeColor:_lightThemeBorderTopColor darkThemeColor:_darkThemeBorderTopColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor;
-            _layer.backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor;
+            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightSchemeColor:_lightSchemeBorderTopColor darkSchemeColor:_darkSchemeBorderTopColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor;
+            _layer.backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor;
         }
         else {
             [self setNeedsDisplay];
@@ -321,7 +321,7 @@
 - (void)_collectCompositingDisplayBlocks:(NSMutableArray *)displayBlocks context:(CGContextRef)context isCancelled:(BOOL(^)(void))isCancelled
 {
     // TODO: compositingChild has no chance to applyPropertiesToView, need update here?
-    UIColor *backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:self.invertForDarkTheme scene:[self colorSceneType]];
+    UIColor *backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:self.invertForDarkScheme scene:[self colorSceneType]];
     BOOL clipsToBounds = _clipToBounds;
     CGRect frame = self.calculatedFrame;
     CGRect bounds = CGRectMake(0, 0, frame.size.width, frame.size.height);
@@ -381,7 +381,7 @@
     
     CGContextSetAlpha(context, _opacity);
     // fill background color
-    UIColor* bgColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:self.invertForDarkTheme scene:[self colorSceneType]];
+    UIColor* bgColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:self.invertForDarkScheme scene:[self colorSceneType]];
     
     if (bgColor && [bgColor respondsToSelector:@selector(CGColor)]) {
         if (CGColorGetAlpha(bgColor.CGColor) > 0) {
@@ -408,7 +408,7 @@
         }
         CGContextSetLineWidth(context, _borderTopWidth);
         CGContextSetStrokeColorWithColor(context,
-                                         [self.weexInstance chooseColor:_borderTopColor lightThemeColor:_lightThemeBorderTopColor darkThemeColor:_darkThemeBorderTopColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor);
+                                         [self.weexInstance chooseColor:_borderTopColor lightSchemeColor:_lightSchemeBorderTopColor darkSchemeColor:_darkSchemeBorderTopColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor);
         CGContextAddArc(context, size.width-topRight, topRight, topRight-_borderTopWidth/2, -M_PI_4+(_borderRightWidth>0?0:M_PI_4), -M_PI_2, 1);
         CGContextMoveToPoint(context, size.width-topRight, _borderTopWidth/2);
         CGContextAddLineToPoint(context, topLeft, _borderTopWidth/2);
@@ -430,7 +430,7 @@
         }
         CGContextSetLineWidth(context, _borderLeftWidth);
         CGContextSetStrokeColorWithColor(context,
-                                         [self.weexInstance chooseColor:_borderLeftColor lightThemeColor:_lightThemeBorderLeftColor darkThemeColor:_darkThemeBorderLeftColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor);
+                                         [self.weexInstance chooseColor:_borderLeftColor lightSchemeColor:_lightSchemeBorderLeftColor darkSchemeColor:_darkSchemeBorderLeftColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor);
         CGContextAddArc(context, topLeft, topLeft, topLeft-_borderLeftWidth/2, -M_PI, -M_PI_2-M_PI_4+(_borderTopWidth > 0?0:M_PI_4), 0);
         CGContextMoveToPoint(context, _borderLeftWidth/2, topLeft);
         CGContextAddLineToPoint(context, _borderLeftWidth/2, size.height-bottomLeft);
@@ -452,7 +452,7 @@
         }
         CGContextSetLineWidth(context, _borderBottomWidth);
         CGContextSetStrokeColorWithColor(context,
-                                         [self.weexInstance chooseColor:_borderBottomColor lightThemeColor:_lightThemeBorderBottomColor darkThemeColor:_darkThemeBorderBottomColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor);
+                                         [self.weexInstance chooseColor:_borderBottomColor lightSchemeColor:_lightSchemeBorderBottomColor darkSchemeColor:_darkSchemeBorderBottomColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor);
         CGContextAddArc(context, bottomLeft, size.height-bottomLeft, bottomLeft-_borderBottomWidth/2, M_PI-M_PI_4+(_borderLeftWidth>0?0:M_PI_4), M_PI_2, 1);
         CGContextMoveToPoint(context, bottomLeft, size.height-_borderBottomWidth/2);
         CGContextAddLineToPoint(context, size.width-bottomRight, size.height-_borderBottomWidth/2);
@@ -474,7 +474,7 @@
         }
         CGContextSetLineWidth(context, _borderRightWidth);
         CGContextSetStrokeColorWithColor(context,
-                                         [self.weexInstance chooseColor:_borderRightColor lightThemeColor:_lightThemeBorderRightColor darkThemeColor:_darkThemeBorderRightColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor);
+                                         [self.weexInstance chooseColor:_borderRightColor lightSchemeColor:_lightSchemeBorderRightColor darkSchemeColor:_darkSchemeBorderRightColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor);
         CGContextAddArc(context, size.width-bottomRight, size.height-bottomRight, bottomRight-_borderRightWidth/2, M_PI_4+(_borderBottomWidth>0?0:M_PI_4), 0, 1);
         CGContextMoveToPoint(context, size.width-_borderRightWidth/2, size.height-bottomRight);
         CGContextAddLineToPoint(context, size.width-_borderRightWidth/2, topRight);
@@ -531,12 +531,12 @@
         return YES;
     }
     
-    BOOL invert = self.invertForDarkTheme;
+    BOOL invert = self.invertForDarkScheme;
     WXColorScene scene = [self colorSceneType];
-    UIColor* usingBorderTopColor = [self.weexInstance chooseColor:_borderTopColor lightThemeColor:_lightThemeBorderTopColor darkThemeColor:_darkThemeBorderTopColor invert:invert scene:scene];
-    UIColor* usingBorderRightColor = [self.weexInstance chooseColor:_borderRightColor lightThemeColor:_lightThemeBorderRightColor darkThemeColor:_darkThemeBorderRightColor invert:invert scene:scene];
-    UIColor* usingBorderBottomColor = [self.weexInstance chooseColor:_borderBottomColor lightThemeColor:_lightThemeBorderBottomColor darkThemeColor:_darkThemeBorderBottomColor invert:invert scene:scene];
-    UIColor* usingBorderLeftColor = [self.weexInstance chooseColor:_borderLeftColor lightThemeColor:_lightThemeBorderLeftColor darkThemeColor:_darkThemeBorderLeftColor invert:invert scene:scene];
+    UIColor* usingBorderTopColor = [self.weexInstance chooseColor:_borderTopColor lightSchemeColor:_lightSchemeBorderTopColor darkSchemeColor:_darkSchemeBorderTopColor invert:invert scene:scene];
+    UIColor* usingBorderRightColor = [self.weexInstance chooseColor:_borderRightColor lightSchemeColor:_lightSchemeBorderRightColor darkSchemeColor:_darkSchemeBorderRightColor invert:invert scene:scene];
+    UIColor* usingBorderBottomColor = [self.weexInstance chooseColor:_borderBottomColor lightSchemeColor:_lightSchemeBorderBottomColor darkSchemeColor:_darkSchemeBorderBottomColor invert:invert scene:scene];
+    UIColor* usingBorderLeftColor = [self.weexInstance chooseColor:_borderLeftColor lightSchemeColor:_lightSchemeBorderLeftColor darkSchemeColor:_darkSchemeBorderLeftColor invert:invert scene:scene];
     
     BOOL colorEqual = [usingBorderTopColor isEqual:usingBorderRightColor] &&
         [usingBorderRightColor isEqual:usingBorderBottomColor] &&
@@ -635,24 +635,24 @@
     WX_CHECK_BORDER_PROP(Color, Top, Left, Bottom, Right, UIColor)
     do {
         BOOL needsDisplay = NO;
-        if (styles[@"darkThemeBorderColor"]) {
-            _darkThemeBorderTopColor = _darkThemeBorderLeftColor = _darkThemeBorderRightColor = _darkThemeBorderBottomColor = [WXConvert UIColor:styles[@"darkThemeBorderColor"]];
+        if (styles[@"weexDarkSchemeBorderColor"]) {
+            _darkSchemeBorderTopColor = _darkSchemeBorderLeftColor = _darkSchemeBorderRightColor = _darkSchemeBorderBottomColor = [WXConvert UIColor:styles[@"weexDarkSchemeBorderColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"darkThemeBorderTopColor"]) {
-            _darkThemeBorderTopColor = [WXConvert UIColor:styles[@"darkThemeBorderTopColor"]];
+        if (styles[@"weexDarkSchemeBorderTopColor"]) {
+            _darkSchemeBorderTopColor = [WXConvert UIColor:styles[@"weexDarkSchemeBorderTopColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"darkThemeBorderLeftColor"]) {
-            _darkThemeBorderLeftColor = [WXConvert UIColor:styles[@"darkThemeBorderLeftColor"]];
+        if (styles[@"weexDarkSchemeBorderLeftColor"]) {
+            _darkSchemeBorderLeftColor = [WXConvert UIColor:styles[@"weexDarkSchemeBorderLeftColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"darkThemeBorderRightColor"]) {
-            _darkThemeBorderRightColor = [WXConvert UIColor:styles[@"darkThemeBorderRightColor"]];
+        if (styles[@"weexDarkSchemeBorderRightColor"]) {
+            _darkSchemeBorderRightColor = [WXConvert UIColor:styles[@"weexDarkSchemeBorderRightColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"darkThemeBorderBottomColor"]) {
-            _darkThemeBorderBottomColor = [WXConvert UIColor:styles[@"darkThemeBorderBottomColor"]];
+        if (styles[@"weexDarkSchemeBorderBottomColor"]) {
+            _darkSchemeBorderBottomColor = [WXConvert UIColor:styles[@"weexDarkSchemeBorderBottomColor"]];
             needsDisplay = YES;
         }
         if (needsDisplay && updating) {
@@ -661,24 +661,24 @@
     } while (0);
     do {
         BOOL needsDisplay = NO;
-        if (styles[@"lightThemeBorderColor"]) {
-            _lightThemeBorderTopColor = _lightThemeBorderLeftColor = _lightThemeBorderRightColor = _lightThemeBorderBottomColor = [WXConvert UIColor:styles[@"lightThemeBorderColor"]];
+        if (styles[@"weexLightSchemeBorderColor"]) {
+            _lightSchemeBorderTopColor = _lightSchemeBorderLeftColor = _lightSchemeBorderRightColor = _lightSchemeBorderBottomColor = [WXConvert UIColor:styles[@"weexLightSchemeBorderColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"lightThemeBorderTopColor"]) {
-            _lightThemeBorderTopColor = [WXConvert UIColor:styles[@"lightThemeBorderTopColor"]];
+        if (styles[@"weexLightSchemeBorderTopColor"]) {
+            _lightSchemeBorderTopColor = [WXConvert UIColor:styles[@"weexLightSchemeBorderTopColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"lightThemeBorderLeftColor"]) {
-            _lightThemeBorderLeftColor = [WXConvert UIColor:styles[@"lightThemeBorderLeftColor"]];
+        if (styles[@"weexLightSchemeBorderLeftColor"]) {
+            _lightSchemeBorderLeftColor = [WXConvert UIColor:styles[@"weexLightSchemeBorderLeftColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"lightThemeBorderRightColor"]) {
-            _lightThemeBorderRightColor = [WXConvert UIColor:styles[@"lightThemeBorderRightColor"]];
+        if (styles[@"weexLightSchemeBorderRightColor"]) {
+            _lightSchemeBorderRightColor = [WXConvert UIColor:styles[@"weexLightSchemeBorderRightColor"]];
             needsDisplay = YES;
         }
-        if (styles[@"lightThemeBorderBottomColor"]) {
-            _lightThemeBorderBottomColor = [WXConvert UIColor:styles[@"lightThemeBorderBottomColor"]];
+        if (styles[@"weexLightSchemeBorderBottomColor"]) {
+            _lightSchemeBorderBottomColor = [WXConvert UIColor:styles[@"weexLightSchemeBorderBottomColor"]];
             needsDisplay = YES;
         }
         if (needsDisplay && updating) {
@@ -698,9 +698,9 @@
         } else if (!nowNeedsDrawBorder) {
             [self _resetNativeBorderRadius];
             _layer.borderWidth = _borderTopWidth;
-            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightThemeColor:_lightThemeBorderTopColor darkThemeColor:_darkThemeBorderTopColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor;
+            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightSchemeColor:_lightSchemeBorderTopColor darkSchemeColor:_darkSchemeBorderTopColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor;
             if ((_transition.transitionOptions & WXTransitionOptionsBackgroundColor) != WXTransitionOptionsBackgroundColor ) {
-                _layer.backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:self.invertForDarkTheme scene:[self colorSceneType]].CGColor;
+                _layer.backgroundColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:self.invertForDarkScheme scene:[self colorSceneType]].CGColor;
             }
         }
     }
@@ -712,7 +712,7 @@
     WXRoundedRect *borderRect = [[WXRoundedRect alloc] initWithRect:rect topLeft:_borderTopLeftRadius topRight:_borderTopRightRadius bottomLeft:_borderBottomLeftRadius bottomRight:_borderBottomRightRadius];
     WXRadii *radii = borderRect.radii;
     BOOL hasBorderRadius = [radii hasBorderRadius];
-    UIColor* currentBgColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:self.invertForDarkTheme scene:[self colorSceneType]];
+    UIColor* currentBgColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:self.invertForDarkScheme scene:[self colorSceneType]];
     return (!hasBorderRadius) && _opacity == 1.0 && CGColorGetAlpha(currentBgColor.CGColor) == 1.0 && [self _needsDrawBorder];
 }
 
@@ -736,16 +736,16 @@
 
 - (WXBoxShadow*)_chooseBoxShadow
 {
-    if ([self.weexInstance isDarkTheme]) {
-        if (_darkThemeBoxShadow) {
-            return _darkThemeBoxShadow;
+    if ([self.weexInstance isDarkScheme]) {
+        if (_darkSchemeBoxShadow) {
+            return _darkSchemeBoxShadow;
         }
         else {
             return _boxShadow;
         }
     }
-    else if (_lightThemeBoxShadow) {
-        return _lightThemeBoxShadow;
+    else if (_lightSchemeBoxShadow) {
+        return _lightSchemeBoxShadow;
     }
     else {
         return _boxShadow;
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index f630f02..a0dad81 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -29,7 +29,7 @@
 #import "WXNavigationDefaultImpl.h"
 #import "WXURLRewriteDefaultImpl.h"
 #import "WXJSFrameworkLoadDefaultImpl.h"
-#import "WXDarkThemeDefaultImpl.h"
+#import "WXDarkSchemeDefaultImpl.h"
 
 #import "WXSDKManager.h"
 #import "WXSDKError.h"
@@ -206,7 +206,7 @@
     [self registerHandler:[WXNavigationDefaultImpl new] withProtocol:@protocol(WXNavigationProtocol)];
     [self registerHandler:[WXURLRewriteDefaultImpl new] withProtocol:@protocol(WXURLRewriteProtocol)];
     [self registerHandler:[WXJSFrameworkLoadDefaultImpl new] withProtocol:@protocol(WXJSFrameworkLoadProtocol)];
-    [self registerHandler:[WXDarkThemeDefaultImpl new] withProtocol:@protocol(WXDarkThemeProtocol)];
+    [self registerHandler:[WXDarkSchemeDefaultImpl new] withProtocol:@protocol(WXDarkSchemeProtocol)];
 }
 
 + (void)registerHandler:(id)handler withProtocol:(Protocol *)protocol
diff --git a/ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.h b/ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.h
similarity index 88%
rename from ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.h
rename to ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.h
index cba2971..1bc1d2e 100644
--- a/ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.h
+++ b/ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.h
@@ -18,14 +18,14 @@
  */
 
 #import <Foundation/Foundation.h>
-#import <WeexSDK/WXDarkThemeProtocol.h>
+#import <WeexSDK/WXDarkSchemeProtocol.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
 /* By default, this implementation class do basic invert of UIColor of RGBA color space.
- You should implementation your own handler to better handle dark theme in your application.
+ You should implementation your own handler to better handle dark scheme in your application.
  */
-@interface WXDarkThemeDefaultImpl : NSObject <WXDarkThemeProtocol>
+@interface WXDarkSchemeDefaultImpl : NSObject <WXDarkSchemeProtocol>
 
 @end
 
diff --git a/ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.m b/ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.m
similarity index 94%
rename from ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.m
rename to ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.m
index af11709..ccae67b 100644
--- a/ios/sdk/WeexSDK/Sources/Handler/WXDarkThemeDefaultImpl.m
+++ b/ios/sdk/WeexSDK/Sources/Handler/WXDarkSchemeDefaultImpl.m
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-#import "WXDarkThemeDefaultImpl.h"
+#import "WXDarkSchemeDefaultImpl.h"
 
-@implementation WXDarkThemeDefaultImpl
+@implementation WXDarkSchemeDefaultImpl
 
 - (BOOL)defaultInvertValueForRootComponent
 {
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
index cfcd317..e5b53ed 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
@@ -42,7 +42,7 @@
 #import "WXComponent_performance.h"
 #import "WXAnalyzerCenter.h"
 #import "WXDisplayLinkManager.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 
 static NSThread *WXComponentThread;
 
@@ -262,9 +262,9 @@
     
     _rootComponent = [self _buildComponent:ref type:type supercomponent:nil styles:styles attributes:attributes events:events renderObject:renderObject];
     
-    if ([WXUtility isDarkThemeSupportEnabled]) {
-        if (attributes[@"invertForDarkTheme"] == nil) {
-            _rootComponent.invertForDarkTheme = [[WXSDKInstance darkThemeColorHandler] defaultInvertValueForRootComponent];
+    if ([WXUtility isDarkSchemeSupportEnabled]) {
+        if (attributes[@"invertForDarkScheme"] == nil) {
+            _rootComponent.invertForDarkScheme = [[WXSDKInstance darkSchemeColorHandler] defaultInvertValueForRootComponent];
         }
     }
     
@@ -334,9 +334,9 @@
         }
     }
     
-    // Not explicitly declare "invertForDarkTheme", inherit
-    if (attributes[@"invertForDarkTheme"] == nil) {
-        component.invertForDarkTheme = supercomponent.invertForDarkTheme;
+    // Not explicitly declare "invertForDarkScheme", inherit
+    if (attributes[@"invertForDarkScheme"] == nil) {
+        component.invertForDarkScheme = supercomponent.invertForDarkScheme;
     }
     
 #ifdef DEBUG
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.h b/ios/sdk/WeexSDK/Sources/Model/WXComponent.h
index 4c31a95..54ba69e 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.h
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.h
@@ -370,7 +370,7 @@
 /// @name Display
 ///--------------------------------------
 
-@property (nonatomic, assign) BOOL invertForDarkTheme;
+@property (nonatomic, assign) BOOL invertForDarkScheme;
 
 @property (nonatomic, assign) WXDisplayType displayType;
 
@@ -387,9 +387,9 @@
 - (BOOL)needsDrawRect;
 
 /**
- * @abstract Fired on instance theme did changed.
+ * @abstract Fired on instance scheme did changed.
  */
-- (void)themeDidChange:(NSString*)theme;
+- (void)schemeDidChange:(NSString*)scheme;
 
 /**
  * @abstract Hint used for better do color invert in dark mode.
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
index d9d4f31..a9c9c34 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
@@ -42,7 +42,7 @@
 #import "WXSDKInstance_performance.h"
 #import "WXComponent_performance.h"
 #import "WXCoreBridge.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 
 #pragma clang diagnostic ignored "-Wincomplete-implementation"
 #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
@@ -72,8 +72,8 @@
 
 @synthesize transform = _transform;
 @synthesize styleBackgroundColor = _styleBackgroundColor;
-@synthesize darkThemeBackgroundColor = _darkThemeBackgroundColor;
-@synthesize lightThemeBackgroundColor = _lightThemeBackgroundColor;
+@synthesize darkSchemeBackgroundColor = _darkSchemeBackgroundColor;
+@synthesize lightSchemeBackgroundColor = _lightSchemeBackgroundColor;
 
 #pragma mark Life Cycle
 
@@ -107,7 +107,7 @@
         _eventPenetrationEnabled = NO;
         _accessibilityHintContent = nil;
         _cancelsTouchesInView = YES;
-        _invertForDarkTheme = NO;
+        _invertForDarkScheme = NO;
         
         _async = NO;
         
@@ -126,8 +126,8 @@
             }
         }
         
-        if (attributes[@"invertForDarkTheme"]) {
-            _invertForDarkTheme = [WXConvert BOOL:attributes[@"invertForDarkTheme"]];
+        if (attributes[@"invertForDarkScheme"]) {
+            _invertForDarkScheme = [WXConvert BOOL:attributes[@"invertForDarkScheme"]];
         }
         
         if (attributes[@"userInteractionEnabled"]) {
@@ -389,9 +389,9 @@
         
         _view = [self loadView];
         
-        // Provide a chance for dark theme handler to process the view
-        if ([WXUtility isDarkThemeSupportEnabled]) {
-            [[WXSDKInstance darkThemeColorHandler] configureView:_view ofComponent:self];
+        // Provide a chance for dark scheme handler to process the view
+        if ([WXUtility isDarkSchemeSupportEnabled]) {
+            [[WXSDKInstance darkSchemeColorHandler] configureView:_view ofComponent:self];
         }
         
 #ifdef DEBUG
@@ -402,7 +402,7 @@
         _view.hidden = _visibility == WXVisibilityShow ? NO : YES;
         _view.clipsToBounds = _clipToBounds;
         if (![self _needsDrawBorder]) {
-            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightThemeColor:_lightThemeBorderTopColor darkThemeColor:_darkThemeBorderTopColor invert:_invertForDarkTheme scene:[self colorSceneType]].CGColor;
+            _layer.borderColor = [self.weexInstance chooseColor:_borderTopColor lightSchemeColor:_lightSchemeBorderTopColor darkSchemeColor:_darkSchemeBorderTopColor invert:_invertForDarkScheme scene:[self colorSceneType]].CGColor;
             _layer.borderWidth = _borderTopWidth;
             [self _resetNativeBorderRadius];
             _layer.opacity = _opacity;
@@ -410,7 +410,7 @@
             /* Also set background color to view to fix that problem that system may
              set dynamic color to UITableView. Without these codes, event if we set
              clear color to layer, the table view could not be transparent. */
-            UIColor* choosedColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightThemeColor:self.lightThemeBackgroundColor darkThemeColor:self.darkThemeBackgroundColor invert:_invertForDarkTheme scene:[self colorSceneType]];
+            UIColor* choosedColor = [self.weexInstance chooseColor:self.styleBackgroundColor lightSchemeColor:self.lightSchemeBackgroundColor darkSchemeColor:self.darkSchemeBackgroundColor invert:_invertForDarkScheme scene:[self colorSceneType]];
             if (choosedColor == [UIColor clearColor]) {
                 _view.backgroundColor = choosedColor;
             }
@@ -871,17 +871,17 @@
     }
     
     NSString* styleValue = nil;
-    BOOL isDark = [self.weexInstance isDarkTheme];
+    BOOL isDark = [self.weexInstance isDarkScheme];
     if (isDark) {
-        if (_darkThemeBackgroundImage) {
-            styleValue = _darkThemeBackgroundImage;
+        if (_darkSchemeBackgroundImage) {
+            styleValue = _darkSchemeBackgroundImage;
         }
         else {
             styleValue = _backgroundImage;
         }
     }
-    else if (_lightThemeBackgroundImage) {
-        styleValue = _lightThemeBackgroundImage;
+    else if (_lightSchemeBackgroundImage) {
+        styleValue = _lightSchemeBackgroundImage;
     }
     else {
         styleValue = _backgroundImage;
@@ -896,7 +896,7 @@
     dispatch_async(dispatch_get_main_queue(), ^{
         __strong typeof(self) strongSelf = weakSelf;
         if(strongSelf) {
-            // No need to auto-invert linear-gradient colors. We only allows using 'dark-theme-background-image' style.
+            // No need to auto-invert linear-gradient colors. We only allows using 'dark-scheme-background-image' style.
             UIColor * startColor = (UIColor*)linearGradient[@"startColor"];
             UIColor * endColor = (UIColor*)linearGradient[@"endColor"];
             CAGradientLayer * gradientLayer = [WXUtility gradientLayerFromColors:@[startColor, endColor] locations:nil frame:strongSelf.view.bounds gradientType:(WXGradientType)[linearGradient[@"gradientType"] integerValue]];
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
index 7e1376a..088d8ac 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
@@ -26,7 +26,7 @@
 #import <WeexSDK/WXApmForInstance.h>
 #import <WeexSDK/WXComponentManager.h>
 
-@protocol WXDarkThemeProtocol;
+@protocol WXDarkSchemeProtocol;
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -449,33 +449,33 @@
  */
 + (NSDictionary*)lastPageInfo;
 
-#pragma mark - Theme Support
+#pragma mark - Scheme Support
 
 /**
  Handler for handling color invert.
 
  @return Handler instance.
  */
-+ (id<WXDarkThemeProtocol>)darkThemeColorHandler;
++ (id<WXDarkSchemeProtocol>)darkSchemeColorHandler;
 
 /**
- Return true if current is dark theme for this instance.
+ Return true if current is dark scheme for this instance.
  */
-- (BOOL)isDarkTheme;
+- (BOOL)isDarkScheme;
 
 /**
  Get/set interface style of current instance.
  */
-- (NSString*)currentThemeName;
-- (void)setCurrentThemeName:(NSString*)name;
+- (NSString*)currentSchemeName;
+- (void)setCurrentSchemeName:(NSString*)name;
 
 /**
  Choose final color between original color and dark-mode one.
  Also considering invert.
  */
 - (UIColor*)chooseColor:(UIColor*)originalColor
-        lightThemeColor:(UIColor*)lightColor
-         darkThemeColor:(UIColor*)darkColor
+       lightSchemeColor:(UIColor*)lightColor
+        darkSchemeColor:(UIColor*)darkColor
                  invert:(BOOL)invert
                   scene:(WXColorScene)scene;
 
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 711ff39..d3e5c79 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -52,7 +52,7 @@
 #import "WXConvertUtility.h"
 #import "WXCoreBridge.h"
 #import "WXDataRenderHandler.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 
 #define WEEX_LITE_URL_SUFFIX           @"wlasm"
 #define WEEX_RENDER_TYPE_PLATFORM       @"platform"
@@ -103,11 +103,11 @@
 {
     self = [super init];
     if (self) {
-        if ([WXUtility isDarkThemeSupportEnabled]) {
-            self.themeName = [WXUtility isSystemInDarkTheme] ? @"dark" : @"light";
+        if ([WXUtility isDarkSchemeSupportEnabled]) {
+            self.schemeName = [WXUtility isSystemInDarkScheme] ? @"dark" : @"light";
         }
         else {
-            self.themeName = @"light";
+            self.schemeName = @"light";
         }
         
         _renderType = renderType;
@@ -611,8 +611,8 @@
         BOOL alwaysUseMRCForObjectToWeexCore = [[configCenter configForKey:@"iOS_weex_ext_config.alwaysUseMRC" defaultValue:@(NO) isDefault:NULL] boolValue];
         ConvertSwitches(isIOS13, useMRCForInvalidJSONObject, alwaysUseMRCForObjectToWeexCore);
         
-        BOOL isDarkThemeSupportEnabled = [[configCenter configForKey:@"iOS_weex_ext_config.supportDarkTheme" defaultValue:@(YES) isDefault:NULL] boolValue];
-        [WXUtility setDarkThemeSupportEnable:isDarkThemeSupportEnabled];
+        BOOL isDarkSchemeSupportEnabled = [[configCenter configForKey:@"iOS_weex_ext_config.supportDarkScheme" defaultValue:@(YES) isDefault:NULL] boolValue];
+        [WXUtility setDarkSchemeSupportEnable:isDarkSchemeSupportEnabled];
     }
     else {
         BOOL isIOS13 = [[[UIDevice currentDevice] systemVersion] integerValue] == 13;
@@ -1180,41 +1180,41 @@
     return result;
 }
 
-+ (id<WXDarkThemeProtocol>)darkThemeColorHandler
++ (id<WXDarkSchemeProtocol>)darkSchemeColorHandler
 {
-    static id<WXDarkThemeProtocol> colorHandler;
+    static id<WXDarkSchemeProtocol> colorHandler;
     static dispatch_once_t onceToken;
     dispatch_once(&onceToken, ^{
-        colorHandler = [WXHandlerFactory handlerForProtocol:@protocol(WXDarkThemeProtocol)];
+        colorHandler = [WXHandlerFactory handlerForProtocol:@protocol(WXDarkSchemeProtocol)];
     });
     return colorHandler;
 }
 
-- (NSString*)currentThemeName
+- (NSString*)currentSchemeName
 {
-    return self.themeName;
+    return self.schemeName;
 }
 
-- (BOOL)isDarkTheme
+- (BOOL)isDarkScheme
 {
-    return [self.themeName isEqualToString:@"dark"];
+    return [self.schemeName isEqualToString:@"dark"];
 }
 
-- (void)setCurrentThemeName:(NSString*)name
+- (void)setCurrentSchemeName:(NSString*)name
 {
-    if (![WXUtility isDarkThemeSupportEnabled]) {
-        self.themeName = @"light";
+    if (![WXUtility isDarkSchemeSupportEnabled]) {
+        self.schemeName = @"light";
         return;
     }
     
-    if (name && ![name isEqualToString:self.themeName]) {
-        self.themeName = name;
+    if (name && ![name isEqualToString:self.schemeName]) {
+        self.schemeName = name;
         
         if (self.isCustomRenderType) {
             return;
         }
         
-        // Recursively visit all components and notify that theme had changed.
+        // Recursively visit all components and notify that scheme had changed.
         __weak WXSDKInstance* weakSelf = self;
         WXPerformBlockOnComponentThread(^{
             __strong WXSDKInstance* strongSelf = weakSelf;
@@ -1231,7 +1231,7 @@
                 WXPerformBlockOnMainThread(^{
                     __strong WXComponent* scomp = wcomp;
                     if (scomp) {
-                        [scomp themeDidChange:name];
+                        [scomp schemeDidChange:name];
                     }
                 });
             }];
@@ -1239,23 +1239,23 @@
         
         [[WXSDKManager bridgeMgr] fireEvent:_instanceId
                                         ref:WX_SDK_ROOT_REF
-                                       type:@"themechange"
-                                     params:@{@"theme": self.themeName?:@"light"}
+                                       type:@"schemechange"
+                                     params:@{@"scheme": self.schemeName?:@"light"}
                                  domChanges:nil];
     }
 }
 
 - (UIColor*)chooseColor:(UIColor*)originalColor
-        lightThemeColor:(UIColor*)lightColor
-         darkThemeColor:(UIColor*)darkColor
+       lightSchemeColor:(UIColor*)lightColor
+        darkSchemeColor:(UIColor*)darkColor
                  invert:(BOOL)invert
                   scene:(WXColorScene)scene
 {
-    if (![WXUtility isDarkThemeSupportEnabled]) {
+    if (![WXUtility isDarkSchemeSupportEnabled]) {
         return originalColor;
     }
     
-    if ([self isDarkTheme]) {
+    if ([self isDarkScheme]) {
         if (darkColor) {
             return darkColor;
         }
@@ -1264,7 +1264,7 @@
             if (originalColor == [UIColor clearColor]) {
                 return originalColor;
             }
-            return [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:originalColor ofScene:scene withDefault:originalColor];
+            return [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:originalColor ofScene:scene withDefault:originalColor];
         }
         else {
             return originalColor;
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance_private.h b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance_private.h
index 852275d..d3811c7 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance_private.h
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance_private.h
@@ -39,7 +39,7 @@
 @property (nonatomic, strong) NSString *createInstanceContextResult;
 @property (nonatomic, strong) NSString *executeRaxApiResult;
 
-@property (atomic, strong) NSString* themeName;
+@property (atomic, strong) NSString* schemeName;
 
 - (void)addModuleEventObservers:(NSString*)event callback:(NSString*)callbackId option:(NSDictionary*)option moduleClassName:(NSString*)moduleClassName;
 - (void)_addModuleEventObserversWithModuleMethod:(WXModuleMethod*)method;
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index c306c95..67a19a5 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -26,7 +26,7 @@
 #import "WXLength.h"
 #import "WXTransition.h"
 #import "WXComponent+Layout.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 
 @interface WXAnimationInfo : NSObject<NSCopying>
 
@@ -210,34 +210,34 @@
     NSDictionary *styles = args[@"styles"];
     NSDictionary* componentRawStyles = target.styles;
     
-    BOOL isDarkTheme = [target.weexInstance isDarkTheme];
-    BOOL updatingDarkThemeBackgroundColor = styles[@"darkThemeBackgroundColor"] != nil;
-    BOOL updatingLightThemeBackgroundColor = styles[@"lightThemeBackgroundColor"] != nil;
+    BOOL isDarkScheme = [target.weexInstance isDarkScheme];
+    BOOL updatingDarkSchemeBackgroundColor = styles[@"weexDarkSchemeBackgroundColor"] != nil;
+    BOOL updatingLightSchemeBackgroundColor = styles[@"weexLightSchemeBackgroundColor"] != nil;
     
     for (NSString *property in styles) {
         if ([property isEqualToString:@"backgroundColor"]) {
-            if (isDarkTheme && (updatingDarkThemeBackgroundColor ||
-                                componentRawStyles[@"darkThemeBackgroundColor"] != nil)) {
-                /* Updating "darkThemeBackgroundColor" in dark mode,
+            if (isDarkScheme && (updatingDarkSchemeBackgroundColor ||
+                                componentRawStyles[@"weexDarkSchemeBackgroundColor"] != nil)) {
+                /* Updating "darkSchemeBackgroundColor" in dark mode,
                  or this component has dark bg color explicitly defined in styels.
                  We ignore transition animation for "backgroundColor" */
                 continue;
             }
-            else if (!isDarkTheme && (updatingLightThemeBackgroundColor ||
-                                      componentRawStyles[@"lightThemeBackgroundColor"] != nil)) {
+            else if (!isDarkScheme && (updatingLightSchemeBackgroundColor ||
+                                      componentRawStyles[@"weexLightSchemeBackgroundColor"] != nil)) {
                 continue;
             }
         }
-        else if ([property isEqualToString:@"darkThemeBackgroundColor"]) {
-            if (!isDarkTheme || componentRawStyles[@"darkThemeBackgroundColor"] == nil) {
-                /* Do not do animation for "darkThemeBackgroundColor" in light mode.
+        else if ([property isEqualToString:@"weexDarkSchemeBackgroundColor"]) {
+            if (!isDarkScheme || componentRawStyles[@"weexDarkSchemeBackgroundColor"] == nil) {
+                /* Do not do animation for "darkSchemeBackgroundColor" in light mode.
                  Or there is no dark bg color explicitly defined in styles.
                  */
                 continue;
             }
         }
-        else if ([property isEqualToString:@"lightThemeBackgroundColor"]){
-            if (isDarkTheme || componentRawStyles[@"lightThemeBackgroundColor"] == nil) {
+        else if ([property isEqualToString:@"weexLightSchemeBackgroundColor"]){
+            if (isDarkScheme || componentRawStyles[@"weexLightSchemeBackgroundColor"] == nil) {
                 continue;
             }
         }
@@ -322,15 +322,15 @@
             }
             target.transform = wxTransform;
         } else if ([property isEqualToString:@"backgroundColor"] ||
-                   [property isEqualToString:@"darkThemeBackgroundColor"] ||
-                   [property isEqualToString:@"lightThemeBackgroundColor"]) {
+                   [property isEqualToString:@"weexDarkSchemeBackgroundColor"] ||
+                   [property isEqualToString:@"weexLightSchemeBackgroundColor"]) {
             info.propertyName = @"backgroundColor";
             info.fromValue = (__bridge id)(layer.backgroundColor);
             UIColor* toColor = [WXConvert UIColor:value];
-            if ([target.weexInstance isDarkTheme] && target.invertForDarkTheme &&
+            if ([target.weexInstance isDarkScheme] && target.invertForDarkScheme &&
                 [property isEqualToString:@"backgroundColor"]) {
                 // Invert color
-                toColor = [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:toColor ofScene:[target colorSceneType] withDefault:toColor];
+                toColor = [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:toColor ofScene:[target colorSceneType] withDefault:toColor];
             }
             info.toValue = (__bridge id)([toColor CGColor]);
             [infos addObject:info];
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm
index c648907..e52c5ba 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm
+++ b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm
@@ -30,7 +30,7 @@
 #import "WXAssert.h"
 #import "WXSDKInstance_private.h"
 #import "WXLength.h"
-#import "WXDarkThemeProtocol.h"
+#import "WXDarkSchemeProtocol.h"
 
 @implementation WXTransitionInfo
 @end
@@ -83,8 +83,8 @@
                                                            @"bottom": @(WXTransitionOptionsBottom),
                                                            @"top": @(WXTransitionOptionsTop),
                                                            @"backgroundColor": @(WXTransitionOptionsBackgroundColor),
-                                                           @"darkThemeBackgroundColor": @(WXTransitionOptionsBackgroundColor),
-                                                           @"lightThemeBackgroundColor": @(WXTransitionOptionsBackgroundColor),
+                                                           @"weexDarkSchemeBackgroundColor": @(WXTransitionOptionsBackgroundColor),
+                                                           @"weexLightSchemeBackgroundColor": @(WXTransitionOptionsBackgroundColor),
                                                            @"transform": @(WXTransitionOptionsTransform),
                                                            @"opacity": @(WXTransitionOptionsOpacity)
                                                            };
@@ -111,38 +111,38 @@
     NSMutableDictionary *futileStyles = [NSMutableDictionary new];
     NSDictionary* componentRawStyles = targetComponent.styles;
     
-    BOOL isDarkTheme = [targetComponent.weexInstance isDarkTheme];
-    BOOL updatingDarkThemeBackgroundColor = styles[@"darkThemeBackgroundColor"] != nil;
-    BOOL updatingLightThemeBackgroundColor = styles[@"lightThemeBackgroundColor"] != nil;
+    BOOL isDarkScheme = [targetComponent.weexInstance isDarkScheme];
+    BOOL updatingDarkSchemeBackgroundColor = styles[@"weexDarkSchemeBackgroundColor"] != nil;
+    BOOL updatingLightSchemeBackgroundColor = styles[@"weexLightSchemeBackgroundColor"] != nil;
     
     for (NSString *key in styles) {
         if (self.transitionOptions & [self transitionOptionsFromString:key]) {
             if ([key isEqualToString:@"backgroundColor"]) {
-                if (isDarkTheme && (updatingDarkThemeBackgroundColor ||
-                                    componentRawStyles[@"darkThemeBackgroundColor"] != nil)) {
-                    /* Updating "darkThemeBackgroundColor" in dark mode,
+                if (isDarkScheme && (updatingDarkSchemeBackgroundColor ||
+                                    componentRawStyles[@"weexDarkSchemeBackgroundColor"] != nil)) {
+                    /* Updating "darkSchemeBackgroundColor" in dark mode,
                      or this component has dark bg color explicitly defined in styels.
                      We ignore transition animation for "backgroundColor" */
                     [futileStyles setObject:styles[key] forKey:key];
                     continue;
                 }
-                else if (!isDarkTheme && (updatingLightThemeBackgroundColor ||
-                                          componentRawStyles[@"lightThemeBackgroundColor"] != nil)) {
+                else if (!isDarkScheme && (updatingLightSchemeBackgroundColor ||
+                                          componentRawStyles[@"weexLightSchemeBackgroundColor"] != nil)) {
                     [futileStyles setObject:styles[key] forKey:key];
                     continue;
                 }
             }
-            else if ([key isEqualToString:@"darkThemeBackgroundColor"]) {
-                if (!isDarkTheme || componentRawStyles[@"darkThemeBackgroundColor"] == nil) {
-                    /* Do not do animation for "darkThemeBackgroundColor" in light mode.
+            else if ([key isEqualToString:@"weexDarkSchemeBackgroundColor"]) {
+                if (!isDarkScheme || componentRawStyles[@"weexDarkSchemeBackgroundColor"] == nil) {
+                    /* Do not do animation for "darkSchemeBackgroundColor" in light mode.
                      Or there is no dark bg color explicitly defined in styles.
                      */
                     [futileStyles setObject:styles[key] forKey:key];
                     continue;
                 }
             }
-            else if ([key isEqualToString:@"lightThemeBackgroundColor"]){
-                if (isDarkTheme || componentRawStyles[@"lightThemeBackgroundColor"] == nil) {
+            else if ([key isEqualToString:@"weexLightSchemeBackgroundColor"]){
+                if (isDarkScheme || componentRawStyles[@"weexLightSchemeBackgroundColor"] == nil) {
                     [futileStyles setObject:styles[key] forKey:key];
                     continue;
                 }
@@ -154,8 +154,8 @@
                     // Get animation 'from' value from raw styles.
                     id styleValue = componentRawStyles[key];
                     if ([key isEqualToString:@"backgroundColor"] ||
-                        [key isEqualToString:@"darkThemeBackgroundColor"] ||
-                        [key isEqualToString:@"lightThemeBackgroundColor"]) {
+                        [key isEqualToString:@"weexDarkSchemeBackgroundColor"] ||
+                        [key isEqualToString:@"weexLightSchemeBackgroundColor"]) {
                         if (styleValue == nil) {
                             // background color is transparent by default.
                             styleValue = @"transparent";
@@ -248,16 +248,16 @@
             _propertyArray = [NSMutableArray new];
         }
         if ([singleProperty isEqualToString:@"backgroundColor"] ||
-            [singleProperty isEqualToString:@"darkThemeBackgroundColor"] ||
-            [singleProperty isEqualToString:@"lightThemeBackgroundColor"]) {
+            [singleProperty isEqualToString:@"weexDarkSchemeBackgroundColor"] ||
+            [singleProperty isEqualToString:@"weexLightSchemeBackgroundColor"]) {
             UIColor* fromColor = [WXConvert UIColor:_oldFilterStyles[singleProperty]];
             UIColor* toColor = [WXConvert UIColor:_filterStyles[singleProperty]];
-            if ([_targetComponent.weexInstance isDarkTheme] &&
-                _targetComponent.invertForDarkTheme &&
+            if ([_targetComponent.weexInstance isDarkScheme] &&
+                _targetComponent.invertForDarkScheme &&
                 [singleProperty isEqualToString:@"backgroundColor"]) {
                 // Invert color
-                fromColor = [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:fromColor ofScene:[_targetComponent colorSceneType] withDefault:fromColor];
-                toColor = [[WXSDKInstance darkThemeColorHandler] getInvertedColorFor:toColor ofScene:[_targetComponent colorSceneType] withDefault:toColor];
+                fromColor = [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:fromColor ofScene:[_targetComponent colorSceneType] withDefault:fromColor];
+                toColor = [[WXSDKInstance darkSchemeColorHandler] getInvertedColorFor:toColor ofScene:[_targetComponent colorSceneType] withDefault:toColor];
             }
             
             WXTransitionInfo *info = [WXTransitionInfo new];
diff --git a/ios/sdk/WeexSDK/Sources/Protocol/WXDarkThemeProtocol.h b/ios/sdk/WeexSDK/Sources/Protocol/WXDarkSchemeProtocol.h
similarity index 90%
rename from ios/sdk/WeexSDK/Sources/Protocol/WXDarkThemeProtocol.h
rename to ios/sdk/WeexSDK/Sources/Protocol/WXDarkSchemeProtocol.h
index 3da70fe..0689bd4 100644
--- a/ios/sdk/WeexSDK/Sources/Protocol/WXDarkThemeProtocol.h
+++ b/ios/sdk/WeexSDK/Sources/Protocol/WXDarkSchemeProtocol.h
@@ -21,15 +21,15 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@protocol WXDarkThemeProtocol <WXModuleProtocol>
+@protocol WXDarkSchemeProtocol <WXModuleProtocol>
 
 /**
- Return YES so that Weex root component will be enabled for 'invertForDarkTheme' property.
+ Return YES so that Weex root component will be enabled for 'invertForDarkScheme' property.
 */
 - (BOOL)defaultInvertValueForRootComponent;
 
 /**
-After any view of Weex component is created. Callback dark theme handler to provide a
+After any view of Weex component is created. Callback dark scheme handler to provide a
  chance to configure the view.
 */
 - (void)configureView:(UIView*_Nonnull)view ofComponent:(WXComponent*_Nonnull)component;
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h
index 15cb8c7..49d2d71 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h
@@ -136,7 +136,7 @@
  * @return Boolean
  *
  */
-+ (BOOL)isSystemInDarkTheme;
++ (BOOL)isSystemInDarkScheme;
 
 /**
  * @abstract Returns the environment of current application, you can get some necessary properties such as appVersion、sdkVersion、appName etc.
@@ -521,8 +521,8 @@
 *  @abstract Switch for dark mode support.
 *
 */
-+ (void)setDarkThemeSupportEnable:(BOOL)value;
-+ (BOOL)isDarkThemeSupportEnabled;
++ (void)setDarkSchemeSupportEnable:(BOOL)value;
++ (BOOL)isDarkSchemeSupportEnabled;
 
 + (long) getUnixFixTimeMillis;
 
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
index 4247725..12d4911 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
@@ -43,7 +43,7 @@
 #define KEY_USERNAME_PASSWORD  @"com.taobao.Weex.weex123456"
 
 static BOOL enableRTLLayoutDirection = YES;
-static BOOL isDarkThemeSupportEnabled = YES;
+static BOOL isDarkSchemeSupportEnabled = YES;
 
 void WXPerformBlockOnMainThread(void (^ _Nonnull block)(void))
 {
@@ -164,7 +164,7 @@
     return [UIView userInterfaceLayoutDirectionForSemanticContentAttribute:UISemanticContentAttributeUnspecified] == UIUserInterfaceLayoutDirectionRightToLeft ? WXLayoutDirectionRTL : WXLayoutDirectionLTR;
 }
 
-+ (BOOL)isSystemInDarkTheme
++ (BOOL)isSystemInDarkScheme
 {
     if (@available(iOS 13.0, *)) {
         __block BOOL result = NO;
@@ -182,9 +182,9 @@
 
 + (NSDictionary *)getEnvironment
 {
-    NSString* currentTheme = @"light";
-    if ([WXUtility isDarkThemeSupportEnabled]) {
-        currentTheme = [self isSystemInDarkTheme] ? @"dark" : @"light";
+    NSString* currentScheme = @"light";
+    if ([WXUtility isDarkSchemeSupportEnabled]) {
+        currentScheme = [self isSystemInDarkScheme] ? @"dark" : @"light";
     }
     
     NSString *platform = @"iOS";
@@ -210,7 +210,7 @@
                                     @"deviceHeight":@(deviceHeight * scale),
                                     @"scale":@(scale),
                                     @"layoutDirection": [self getEnvLayoutDirection] == WXLayoutDirectionRTL ? @"rtl" : @"ltr",
-                                    @"theme": currentTheme
+                                    @"scheme": currentScheme
                                 }];
     
     if ([[[UIDevice currentDevice] systemVersion] integerValue] >= 11) {
@@ -816,16 +816,16 @@
     return enableRTLLayoutDirection;
 }
 
-#pragma mark - Dark theme
+#pragma mark - Dark scheme
 
-+ (void)setDarkThemeSupportEnable:(BOOL)value
++ (void)setDarkSchemeSupportEnable:(BOOL)value
 {
-    isDarkThemeSupportEnabled = value;
+    isDarkSchemeSupportEnabled = value;
 }
 
-+ (BOOL)isDarkThemeSupportEnabled
++ (BOOL)isDarkSchemeSupportEnabled
 {
-    return isDarkThemeSupportEnabled;
+    return isDarkSchemeSupportEnabled;
 }
 
 #pragma mark - get deviceID
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
index 5165d7f..4d058ef 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
@@ -67,18 +67,18 @@
     }\
 } while(0);
 
-#define WX_BOARD_RADIUS_DARK_THEME_COLOR_RESET_ALL(key)\
+#define WX_BOARD_RADIUS_DARK_SCHEME_COLOR_RESET_ALL(key)\
 do {\
     if (styles && [styles containsObject:@#key]) {\
-        _darkThemeBorderTopColor = _darkThemeBorderLeftColor = _darkThemeBorderRightColor = _darkThemeBorderBottomColor = [UIColor blackColor];\
+        _darkSchemeBorderTopColor = _darkSchemeBorderLeftColor = _darkSchemeBorderRightColor = _darkSchemeBorderBottomColor = [UIColor blackColor];\
         [self setNeedsDisplay];\
     }\
 } while(0);
 
-#define WX_BOARD_RADIUS_LIGHT_THEME_COLOR_RESET_ALL(key)\
+#define WX_BOARD_RADIUS_LIGHT_SCHEME_COLOR_RESET_ALL(key)\
 do {\
     if (styles && [styles containsObject:@#key]) {\
-        _lightThemeBorderTopColor = _lightThemeBorderLeftColor = _lightThemeBorderRightColor = _lightThemeBorderBottomColor = [UIColor blackColor];\
+        _lightSchemeBorderTopColor = _lightSchemeBorderLeftColor = _lightSchemeBorderRightColor = _lightSchemeBorderBottomColor = [UIColor blackColor];\
         [self setNeedsDisplay];\
     }\
 } while(0);
@@ -191,15 +191,15 @@
 - (void)_initViewPropertyWithStyles:(NSDictionary *)styles
 {
     self.styleBackgroundColor = styles[@"backgroundColor"] ? [WXConvert UIColor:styles[@"backgroundColor"]] : [UIColor clearColor];
-    if (styles[@"darkThemeBackgroundColor"]) {
-        self.darkThemeBackgroundColor = [WXConvert UIColor:styles[@"darkThemeBackgroundColor"]];
+    if (styles[@"weexDarkSchemeBackgroundColor"]) {
+        self.darkSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexDarkSchemeBackgroundColor"]];
     }
-    if (styles[@"lightThemeBackgroundColor"]) {
-        self.lightThemeBackgroundColor = [WXConvert UIColor:styles[@"lightThemeBackgroundColor"]];
+    if (styles[@"weexLightSchemeBackgroundColor"]) {
+        self.lightSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexLightSchemeBackgroundColor"]];
     }
     _backgroundImage = styles[@"backgroundImage"] ? [WXConvert NSString:styles[@"backgroundImage"]]: nil;
-    _darkThemeBackgroundImage = styles[@"darkThemeBackgroundImage"] ? [WXConvert NSString:styles[@"darkThemeBackgroundImage"]] : nil;
-    _lightThemeBackgroundImage = styles[@"lightThemeBackgroundImage"] ? [WXConvert NSString:styles[@"lightThemeBackgroundImage"]] : nil;
+    _darkSchemeBackgroundImage = styles[@"weexDarkSchemeBackgroundImage"] ? [WXConvert NSString:styles[@"weexDarkSchemeBackgroundImage"]] : nil;
+    _lightSchemeBackgroundImage = styles[@"weexLightSchemeBackgroundImage"] ? [WXConvert NSString:styles[@"weexLightSchemeBackgroundImage"]] : nil;
     _opacity = styles[@"opacity"] ? [WXConvert CGFloat:styles[@"opacity"]] : 1.0;
     _clipToBounds = styles[@"overflow"] ? [WXConvert WXClipType:styles[@"overflow"]] : NO;
     _visibility = styles[@"visibility"] ? [WXConvert WXVisibility:styles[@"visibility"]] : WXVisibilityShow;
@@ -208,11 +208,11 @@
     [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:styles[@"transformOrigin"]] instance:self.weexInstance] :
     [[WXTransform alloc] initWithCSSValue:nil origin:nil instance:self.weexInstance];
     _boxShadow = styles[@"boxShadow"]?[WXConvert WXBoxShadow:styles[@"boxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor]:nil;
-    if (styles[@"darkThemeBoxShadow"]) {
-        _darkThemeBoxShadow = [WXConvert WXBoxShadow:styles[@"darkThemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
+    if (styles[@"weexDarkSchemeBoxShadow"]) {
+        _darkSchemeBoxShadow = [WXConvert WXBoxShadow:styles[@"weexDarkSchemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
     }
-    if (styles[@"lightThemeBoxShadow"]) {
-        _lightThemeBoxShadow = [WXConvert WXBoxShadow:styles[@"lightThemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
+    if (styles[@"weexLightSchemeBoxShadow"]) {
+        _lightSchemeBoxShadow = [WXConvert WXBoxShadow:styles[@"weexLightSchemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
     }
 }
 
@@ -222,11 +222,11 @@
     if (styles[@"backgroundColor"]) {
         self.styleBackgroundColor = [WXConvert UIColor:styles[@"backgroundColor"]];
     }
-    if (styles[@"darkThemeBackgroundColor"]) {
-        self.darkThemeBackgroundColor = [WXConvert UIColor:styles[@"darkThemeBackgroundColor"]];
+    if (styles[@"weexDarkSchemeBackgroundColor"]) {
+        self.darkSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexDarkSchemeBackgroundColor"]];
     }
-    if (styles[@"lightThemeBackgroundColor"]) {
-        self.lightThemeBackgroundColor = [WXConvert UIColor:styles[@"lightThemeBackgroundColor"]];
+    if (styles[@"weexLightSchemeBackgroundColor"]) {
+        self.lightSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexLightSchemeBackgroundColor"]];
     }
     if (styles[@"opacity"]) {
         _opacity = [WXConvert CGFloat:styles[@"opacity"]];
@@ -239,13 +239,13 @@
     if (styles[@"boxShadow"]) {
         _boxShadow = styles[@"boxShadow"]?[WXConvert WXBoxShadow:styles[@"boxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor]:nil;
     }
-    if (styles[@"darkThemeBoxShadow"]) {
-        _darkThemeBoxShadow = [WXConvert WXBoxShadow:styles[@"darkThemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
+    if (styles[@"weexDarkSchemeBoxShadow"]) {
+        _darkSchemeBoxShadow = [WXConvert WXBoxShadow:styles[@"weexDarkSchemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
     }
-    if (styles[@"lightThemeBoxShadow"]) {
-        _lightThemeBoxShadow = [WXConvert WXBoxShadow:styles[@"lightThemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
+    if (styles[@"weexLightSchemeBoxShadow"]) {
+        _lightSchemeBoxShadow = [WXConvert WXBoxShadow:styles[@"weexLightSchemeBoxShadow"] scaleFactor:self.weexInstance.pixelScaleFactor];
     }
-    if (styles[@"boxShadow"] || styles[@"darkThemeBoxShadow"] || styles[@"lightThemeBoxShadow"]) {
+    if (styles[@"boxShadow"] || styles[@"weexDarkSchemeBoxShadow"] || styles[@"weexLightSchemeBoxShadow"]) {
         WXBoxShadow* usingBoxShadow = [self _chooseBoxShadow];
         if (usingBoxShadow) {
             _lastBoxShadow = usingBoxShadow;
@@ -259,13 +259,13 @@
         [self setNeedsDisplay];
     }
     
-    if (styles[@"darkThemeBackgroundColor"]) {
-        self.darkThemeBackgroundColor = [WXConvert UIColor:styles[@"darkThemeBackgroundColor"]];
+    if (styles[@"weexDarkSchemeBackgroundColor"]) {
+        self.darkSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexDarkSchemeBackgroundColor"]];
         [self setNeedsDisplay];
     }
     
-    if (styles[@"lightThemeBackgroundColor"]) {
-        self.lightThemeBackgroundColor = [WXConvert UIColor:styles[@"lightThemeBackgroundColor"]];
+    if (styles[@"weexLightSchemeBackgroundColor"]) {
+        self.lightSchemeBackgroundColor = [WXConvert UIColor:styles[@"weexLightSchemeBackgroundColor"]];
         [self setNeedsDisplay];
     }
     
@@ -273,17 +273,17 @@
         _backgroundImage = [WXConvert NSString:styles[@"backgroundImage"]];
     }
     
-    if (styles[@"darkThemeBackgroundImage"]) {
-        _darkThemeBackgroundImage = [WXConvert NSString:styles[@"darkThemeBackgroundImage"]];
+    if (styles[@"weexDarkSchemeBackgroundImage"]) {
+        _darkSchemeBackgroundImage = [WXConvert NSString:styles[@"weexDarkSchemeBackgroundImage"]];
     }
-    if (styles[@"lightThemeBackgroundImage"]) {
-        _lightThemeBackgroundImage = [WXConvert NSString:styles[@"lightThemeBackgroundImage"]];
+    if (styles[@"weexLightSchemeBackgroundImage"]) {
+        _lightSchemeBackgroundImage = [WXConvert NSString:styles[@"weexLightSchemeBackgroundImage"]];
     }
     
     if (styles[@"backgroundImage"] ||
-        styles[@"darkThemeBackgroundImage"] ||
-        styles[@"lightThemeBackgroundImage"]) {
-        if (_backgroundImage || _darkThemeBackgroundImage || _lightThemeBackgroundImage) {
+        styles[@"weexDarkSchemeBackgroundImage"] ||
+        styles[@"weexLightSchemeBackgroundImage"]) {
+        if (_backgroundImage || _darkSchemeBackgroundImage || _lightSchemeBackgroundImage) {
             [self setGradientLayer];
         }
     }
@@ -369,17 +369,17 @@
     WX_BOARD_COLOR_RESET(borderRightColor);
     WX_BOARD_COLOR_RESET(borderBottomColor);
     
-    WX_BOARD_RADIUS_DARK_THEME_COLOR_RESET_ALL(darkThemeBorderColor);
-    WX_BOARD_COLOR_RESET(darkThemeBorderTopColor);
-    WX_BOARD_COLOR_RESET(darkThemeBorderLeftColor);
-    WX_BOARD_COLOR_RESET(darkThemeBorderRightColor);
-    WX_BOARD_COLOR_RESET(darkThemeBorderBottomColor);
+    WX_BOARD_RADIUS_DARK_SCHEME_COLOR_RESET_ALL(darkSchemeBorderColor);
+    WX_BOARD_COLOR_RESET(darkSchemeBorderTopColor);
+    WX_BOARD_COLOR_RESET(darkSchemeBorderLeftColor);
+    WX_BOARD_COLOR_RESET(darkSchemeBorderRightColor);
+    WX_BOARD_COLOR_RESET(darkSchemeBorderBottomColor);
     
-    WX_BOARD_RADIUS_LIGHT_THEME_COLOR_RESET_ALL(lightThemeBorderColor);
-    WX_BOARD_COLOR_RESET(lightThemeBorderTopColor);
-    WX_BOARD_COLOR_RESET(lightThemeBorderLeftColor);
-    WX_BOARD_COLOR_RESET(lightThemeBorderRightColor);
-    WX_BOARD_COLOR_RESET(lightThemeBorderBottomColor);
+    WX_BOARD_RADIUS_LIGHT_SCHEME_COLOR_RESET_ALL(lightSchemeBorderColor);
+    WX_BOARD_COLOR_RESET(lightSchemeBorderTopColor);
+    WX_BOARD_COLOR_RESET(lightSchemeBorderLeftColor);
+    WX_BOARD_COLOR_RESET(lightSchemeBorderRightColor);
+    WX_BOARD_COLOR_RESET(lightSchemeBorderBottomColor);
 }
 
 - (void)_resetStyles:(NSArray *)styles
@@ -388,12 +388,12 @@
         self.styleBackgroundColor = [UIColor clearColor];
         [self setNeedsDisplay];
     }
-    if (styles && [styles containsObject:@"darkThemeBackgroundColor"]) {
-        self.darkThemeBackgroundColor = nil;
+    if (styles && [styles containsObject:@"weexDarkSchemeBackgroundColor"]) {
+        self.darkSchemeBackgroundColor = nil;
         [self setNeedsDisplay];
     }
-    if (styles && [styles containsObject:@"lightThemeBackgroundColor"]) {
-        self.lightThemeBackgroundColor = nil;
+    if (styles && [styles containsObject:@"weexLightSchemeBackgroundColor"]) {
+        self.lightSchemeBackgroundColor = nil;
         [self setNeedsDisplay];
     }
     
@@ -402,27 +402,27 @@
         _boxShadow = nil;
         [self setNeedsDisplay];
     }
-    if (styles && [styles containsObject:@"darkThemeBoxShadow"]) {
-        _darkThemeBoxShadow = nil;
+    if (styles && [styles containsObject:@"weexDarkSchemeBoxShadow"]) {
+        _darkSchemeBoxShadow = nil;
         [self setNeedsDisplay];
     }
-    if (styles && [styles containsObject:@"lightThemeBoxShadow"]) {
-        _lightThemeBoxShadow = nil;
+    if (styles && [styles containsObject:@"weexLightSchemeBoxShadow"]) {
+        _lightSchemeBoxShadow = nil;
         [self setNeedsDisplay];
     }
     
     if (styles && [styles containsObject:@"backgroundImage"]) {
         _backgroundImage = nil;
     }
-    if (styles && [styles containsObject:@"darkThemeBackgroundImage"]) {
-        _darkThemeBackgroundImage = nil;
+    if (styles && [styles containsObject:@"weexDarkSchemeBackgroundImage"]) {
+        _darkSchemeBackgroundImage = nil;
     }
-    if (styles && [styles containsObject:@"lightThemeBackgroundImage"]) {
-        _lightThemeBackgroundImage = nil;
+    if (styles && [styles containsObject:@"weexLightSchemeBackgroundImage"]) {
+        _lightSchemeBackgroundImage = nil;
     }
     if (styles && ([styles containsObject:@"backgroundImage"] ||
-                   [styles containsObject:@"darkThemeBackgroundImage"] ||
-                   [styles containsObject:@"lightThemeBackgroundImage"])) {
+                   [styles containsObject:@"weexDarkSchemeBackgroundImage"] ||
+                   [styles containsObject:@"weexLightSchemeBackgroundImage"])) {
         [self setGradientLayer];
     }
     
diff --git a/ios/sdk/WeexSDK/Sources/View/WXRootView.m b/ios/sdk/WeexSDK/Sources/View/WXRootView.m
index 8b2414b..0df4760 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXRootView.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXRootView.m
@@ -73,7 +73,7 @@
         if (currentStyle != previousTraitCollection.userInterfaceStyle) {
             if (_hasFirstTraitCollectionChange) {
                 _allowFirstTraitCollectionChange = NO;
-                [self.instance setCurrentThemeName:currentStyle == UIUserInterfaceStyleDark ? @"dark" : @"light"];
+                [self.instance setCurrentSchemeName:currentStyle == UIUserInterfaceStyleDark ? @"dark" : @"light"];
             }
             else {
                 __weak WXRootView* weakSelf = self;
@@ -84,7 +84,7 @@
                     if (strongSelf) {
                         if (strongSelf->_allowFirstTraitCollectionChange) {
                             if (strongSelf.instance) {
-                                [strongSelf.instance setCurrentThemeName:currentStyle == UIUserInterfaceStyleDark ? @"dark" : @"light"];
+                                [strongSelf.instance setCurrentSchemeName:currentStyle == UIUserInterfaceStyleDark ? @"dark" : @"light"];
                             }
                         }
                         strongSelf->_hasFirstTraitCollectionChange = NO;
diff --git a/ios/sdk/WeexSDK/Sources/WeexSDK.h b/ios/sdk/WeexSDK/Sources/WeexSDK.h
index 05dbe21..05807f0 100644
--- a/ios/sdk/WeexSDK/Sources/WeexSDK.h
+++ b/ios/sdk/WeexSDK/Sources/WeexSDK.h
@@ -73,7 +73,7 @@
 #import <WeexSDK/WXDefine.h>
 #import <WeexSDK/WXDebugTool.h>
 #import <WeexSDK/WXDataRenderHandler.h>
-#import <WeexSDK/WXDarkThemeProtocol.h>
+#import <WeexSDK/WXDarkSchemeProtocol.h>
 #import <WeexSDK/WXConvertUtility.h>
 #import <WeexSDK/WXConvert.h>
 #import <WeexSDK/WXConfigCenterProtocol.h>