Repository: incubator-weex
Updated Branches:
  refs/heads/master 805f8a832 -> 850f6f47e


[WEEX-112][iOS] make weex playground app adapt to iPhone X

 according to 
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/
 ,
we must add a 1125px X 2436px  launch image for Portrait size and 2436 X1125px, 
 at the same time,
developers must consider about the safe-area of container.

Bug: 112

[WEEX-112] make Xcode 8 adapt

[WEEX-112][iOS]add launch image and clear launch image

Bug:112

[WEEX-112][iOS] update project settings

Bug:112

close #860


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

Branch: refs/heads/master
Commit: 850f6f47eb8fa110216a1e0e61e904c850b33d1a
Parents: 805f8a8
Author: acton393 <[email protected]>
Authored: Tue Nov 14 13:10:15 2017 +0800
Committer: gurisxie <[email protected]>
Committed: Wed Nov 22 13:26:30 2017 +0800

----------------------------------------------------------------------
 .../WeexDemo.xcodeproj/project.pbxproj          |  12 +-
 .../AppIcon.appiconset/Contents.json            |   5 +
 .../LaunchImage.launchimage/Contents.json       | 122 ++++---------------
 .../LaunchImage.launchimage/[email protected]  | Bin 24902 -> 0 bytes
 .../[email protected]                       | Bin 22184 -> 0 bytes
 .../LaunchImage.launchimage/Default.png         | Bin 6733 -> 0 bytes
 .../LaunchImage.launchimage/[email protected]    | Bin 19694 -> 0 bytes
 .../LaunchImage.launchimage/[email protected]    | Bin 66666 -> 0 bytes
 .../LaunchImage.launchimage/[email protected]      | Bin 66666 -> 0 bytes
 .../LaunchImage.launchimage/Retinal HD 4.7.png  | Bin 0 -> 33603 bytes
 .../LaunchImage.launchimage/Retinal HD 5.5.png  | Bin 0 -> 72798 bytes
 .../iPhone5.5-landscape.png                     | Bin 0 -> 66768 bytes
 .../iPhoneX-landscape.png                       | Bin 0 -> 68749 bytes
 .../LaunchImage.launchimage/[email protected]      | Bin 0 -> 68622 bytes
 ios/playground/WeexDemo/WXDemoViewController.m  |  21 +++-
 15 files changed, 54 insertions(+), 106 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --git a/ios/playground/WeexDemo.xcodeproj/project.pbxproj 
b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
index 5c56412..351693b 100644
--- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj
+++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
@@ -35,8 +35,8 @@
                847CAF311F39E3F100551725 /* WXExtModule.m in Sources */ = {isa 
= PBXBuildFile; fileRef = 847CAF301F39E3F100551725 /* WXExtModule.m */; };
                84D7CAC71CE3266C00D48D46 /* libsqlite3.0.tbd in Frameworks */ = 
{isa = PBXBuildFile; fileRef = 7475ACA01CD8444A0044E96C /* libsqlite3.0.tbd */; 
};
                8A0B5EFFF75BF82EA481983D /* libPods-WeexUITestDemo.a in 
Frameworks */ = {isa = PBXBuildFile; fileRef = E48C20F443AA337D1FE97622 /* 
libPods-WeexUITestDemo.a */; };
-               C47B78D21F299E27001D3B0C /* WXExtendCallNativeTest.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = C47B78D11F299E27001D3B0C /* 
WXExtendCallNativeTest.m */; };
                C43CDA031F1C6E01005A6B03 /* libz.tbd in Frameworks */ = {isa = 
PBXBuildFile; fileRef = C43CDA021F1C6E01005A6B03 /* libz.tbd */; };
+               C47B78D21F299E27001D3B0C /* WXExtendCallNativeTest.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = C47B78D11F299E27001D3B0C /* 
WXExtendCallNativeTest.m */; };
                DC20B8E61ECADA2500845F39 /* WXConfigCenterDefaultImpl.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC20B8E51ECADA2500845F39 /* 
WXConfigCenterDefaultImpl.m */; };
                DC5B53691E8CED9400E02125 /* WXScannerHistoryVC.m in Sources */ 
= {isa = PBXBuildFile; fileRef = DC5B53681E8CED9400E02125 /* 
WXScannerHistoryVC.m */; };
                DC5E503E1D0D97130059F0EB /* weex.png in Resources */ = {isa = 
PBXBuildFile; fileRef = DC5E503C1D0D97130059F0EB /* weex.png */; };
@@ -97,9 +97,9 @@
                847CAF2F1F39E3F100551725 /* WXExtModule.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXExtModule.h; sourceTree = "<group>"; };
                847CAF301F39E3F100551725 /* WXExtModule.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXExtModule.m; sourceTree = "<group>"; };
                9420131417A731ED089B0814 /* Pods-WeexDemo.release.xcconfig */ = 
{isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; 
name = "Pods-WeexDemo.release.xcconfig"; path = "Pods/Target Support 
Files/Pods-WeexDemo/Pods-WeexDemo.release.xcconfig"; sourceTree = "<group>"; };
+               C43CDA021F1C6E01005A6B03 /* libz.tbd */ = {isa = 
PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; 
name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
                C47B78D01F299E27001D3B0C /* WXExtendCallNativeTest.h */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path 
= WXExtendCallNativeTest.h; sourceTree = "<group>"; };
                C47B78D11F299E27001D3B0C /* WXExtendCallNativeTest.m */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; 
path = WXExtendCallNativeTest.m; sourceTree = "<group>"; };
-               C43CDA021F1C6E01005A6B03 /* libz.tbd */ = {isa = 
PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; 
name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
                DC20B8E41ECADA2500845F39 /* WXConfigCenterDefaultImpl.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = WXConfigCenterDefaultImpl.h; sourceTree = "<group>"; };
                DC20B8E51ECADA2500845F39 /* WXConfigCenterDefaultImpl.m */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = WXConfigCenterDefaultImpl.m; sourceTree = "<group>"; 
};
                DC5B53671E8CED9400E02125 /* WXScannerHistoryVC.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = 
WXScannerHistoryVC.h; path = Scanner/WXScannerHistoryVC.h; sourceTree = 
"<group>"; };
@@ -502,13 +502,15 @@
                        files = (
                        );
                        inputPaths = (
+                               "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+                               "${PODS_ROOT}/Manifest.lock",
                        );
                        name = "[CP] Check Pods Manifest.lock";
                        outputPaths = (
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" 
\"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print 
error to STDERR\n    echo \"error: The sandbox is not in sync with the 
Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n  
  exit 1\nfi\n";
+                       shellScript = "diff 
\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > 
/dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo 
\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or 
update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is 
used by Xcode 'outputs' to avoid re-running this script phase.\necho 
\"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
                        showEnvVarsInLog = 0;
                };
                84361D6F1CA10F8E00F43825 /* [CP] Copy Pods Resources */ = {
@@ -547,13 +549,15 @@
                        files = (
                        );
                        inputPaths = (
+                               "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+                               "${PODS_ROOT}/Manifest.lock",
                        );
                        name = "[CP] Check Pods Manifest.lock";
                        outputPaths = (
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" 
\"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print 
error to STDERR\n    echo \"error: The sandbox is not in sync with the 
Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n  
  exit 1\nfi\n";
+                       shellScript = "diff 
\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > 
/dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo 
\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or 
update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is 
used by Xcode 'outputs' to avoid re-running this script phase.\necho 
\"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
                        showEnvVarsInLog = 0;
                };
                C715566148067A7FFAB7797D /* [CP] Copy Pods Resources */ = {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/AppIcon.appiconset/Contents.json 
b/ios/playground/WeexDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
index 83d375f..be578af 100644
--- a/ios/playground/WeexDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/ios/playground/WeexDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -97,6 +97,11 @@
       "idiom" : "ipad",
       "filename" : "[email protected]",
       "scale" : "2x"
+    },
+    {
+      "idiom" : "ios-marketing",
+      "size" : "1024x1024",
+      "scale" : "1x"
     }
   ],
   "info" : {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Contents.json
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Contents.json 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Contents.json
index a058144..b589658 100644
--- 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Contents.json
+++ 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Contents.json
@@ -3,8 +3,26 @@
     {
       "extent" : "full-screen",
       "idiom" : "iphone",
+      "subtype" : "2436h",
+      "filename" : "[email protected]",
+      "minimum-system-version" : "11.0",
+      "orientation" : "portrait",
+      "scale" : "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "2436h",
+      "filename" : "iPhoneX-landscape.png",
+      "minimum-system-version" : "11.0",
+      "orientation" : "landscape",
+      "scale" : "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
       "subtype" : "736h",
-      "filename" : "[email protected]",
+      "filename" : "Retinal HD 5.5.png",
       "minimum-system-version" : "8.0",
       "orientation" : "portrait",
       "scale" : "3x"
@@ -13,7 +31,7 @@
       "extent" : "full-screen",
       "idiom" : "iphone",
       "subtype" : "736h",
-      "filename" : "[email protected]",
+      "filename" : "iPhone5.5-landscape.png",
       "minimum-system-version" : "8.0",
       "orientation" : "landscape",
       "scale" : "3x"
@@ -22,7 +40,7 @@
       "extent" : "full-screen",
       "idiom" : "iphone",
       "subtype" : "667h",
-      "filename" : "[email protected]",
+      "filename" : "Retinal HD 4.7.png",
       "minimum-system-version" : "8.0",
       "orientation" : "portrait",
       "scale" : "2x"
@@ -43,104 +61,6 @@
       "minimum-system-version" : "7.0",
       "orientation" : "portrait",
       "scale" : "2x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "minimum-system-version" : "7.0",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "minimum-system-version" : "7.0",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "minimum-system-version" : "7.0",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "minimum-system-version" : "7.0",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "iphone",
-      "filename" : "Default.png",
-      "extent" : "full-screen",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "iphone",
-      "filename" : "[email protected]",
-      "extent" : "full-screen",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "iphone",
-      "filename" : "[email protected]",
-      "extent" : "full-screen",
-      "subtype" : "retina4",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "to-status-bar",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "to-status-bar",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "scale" : "1x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "to-status-bar",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "portrait",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "to-status-bar",
-      "scale" : "2x"
-    },
-    {
-      "orientation" : "landscape",
-      "idiom" : "ipad",
-      "extent" : "full-screen",
-      "scale" : "2x"
     }
   ],
   "info" : {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
deleted file mode 100644
index 734438c..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
deleted file mode 100644
index 7e013e4..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Default.png
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Default.png 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Default.png
deleted file mode 100644
index 99a1568..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Default.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
deleted file mode 100644
index 948f7a3..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
deleted file mode 100644
index 8fe3fde..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
deleted file mode 100644
index 8fe3fde..0000000
Binary files 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal
 HD 4.7.png
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
4.7.png 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
4.7.png
new file mode 100644
index 0000000..95b95ea
Binary files /dev/null and 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
4.7.png differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal
 HD 5.5.png
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
5.5.png 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
5.5.png
new file mode 100644
index 0000000..27dd969
Binary files /dev/null and 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/Retinal HD 
5.5.png differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhone5.5-landscape.png
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhone5.5-landscape.png
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhone5.5-landscape.png
new file mode 100644
index 0000000..6eb5283
Binary files /dev/null and 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhone5.5-landscape.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhoneX-landscape.png
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhoneX-landscape.png
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhoneX-landscape.png
new file mode 100644
index 0000000..2b65d7c
Binary files /dev/null and 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/iPhoneX-landscape.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
----------------------------------------------------------------------
diff --git 
a/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
new file mode 100644
index 0000000..ddda19e
Binary files /dev/null and 
b/ios/playground/WeexDemo/Assets.xcassets/LaunchImage.launchimage/[email protected]
 differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/850f6f47/ios/playground/WeexDemo/WXDemoViewController.m
----------------------------------------------------------------------
diff --git a/ios/playground/WeexDemo/WXDemoViewController.m 
b/ios/playground/WeexDemo/WXDemoViewController.m
index a860e3d..280ba75 100644
--- a/ios/playground/WeexDemo/WXDemoViewController.m
+++ b/ios/playground/WeexDemo/WXDemoViewController.m
@@ -91,6 +91,15 @@
 - (void)viewDidLayoutSubviews
 {
     _weexHeight = self.view.frame.size.height;
+    UIEdgeInsets safeArea = UIEdgeInsetsZero;
+#ifdef __IPHONE_11_0
+    if (@available(iOS 11.0, *)) {
+        safeArea = self.view.safeAreaInsets;
+    } else {
+        // Fallback on earlier versions
+    }
+#endif
+    _instance.frame = CGRectMake(safeArea.left, safeArea.top, 
self.view.frame.size.width-safeArea.left-safeArea.right, 
_weexHeight-safeArea.bottom);
 }
 
 - (void)didReceiveMemoryWarning {
@@ -119,7 +128,17 @@
     }
     
     _instance.viewController = self;
-    _instance.frame = CGRectMake(self.view.frame.size.width-width, 0, width, 
_weexHeight);
+    UIEdgeInsets safeArea = UIEdgeInsetsZero;
+    
+#ifdef __IPHONE_11_0
+    if (@available(iOS 11.0, *)) {
+        safeArea = self.view.safeAreaInsets;
+    } else {
+        // Fallback on earlier versions
+    }
+#endif
+    
+    _instance.frame = CGRectMake(self.view.frame.size.width-width, 0, width, 
_weexHeight-safeArea.bottom);
     
     __weak typeof(self) weakSelf = self;
     _instance.onCreate = ^(UIView *view) {

Reply via email to