android: rewrite of the Android support to use the "new" gradle toolchain
[nit.git] / src / platform / xcode_templates.nit
index d1d8532..776b656 100644 (file)
@@ -174,18 +174,9 @@ class PbxprojectTemplate
 """
 
                add """
+               0FDD07A21C6F8E0E006FF70E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0FDD07A11C6F8E0E006FF70E /* LaunchScreen.storyboard */; };
 /* End PBXBuildFile section */
 
-/* Begin PBXContainerItemProxy section */
-               AF9F83EA1A5F0D21004B62C0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = AF9F83C41A5F0D21004B62C0 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = AF9F83CB1A5F0D21004B62C0;
-                       remoteInfo = {{{name}}};
-               };
-/* End PBXContainerItemProxy section */
-
 /* Begin PBXFileReference section */
        /* Static generated files */
                AF9F83CC1A5F0D21004B62C0 /* {{{name}}}.app */ = {
@@ -228,6 +219,7 @@ class PbxprojectTemplate
                for file in files do add file.description
 
                add """
+               0FDD07A11C6F8E0E006FF70E /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -246,6 +238,7 @@ class PbxprojectTemplate
                        children = (
                                AF9F83CE1A5F0D21004B62C0 /* {{{name}}} */,
                                AF9F83CD1A5F0D21004B62C0 /* Products */,
+                               0FDD07A11C6F8E0E006FF70E /* LaunchScreen.storyboard */,
                        );
                        sourceTree = "<group>";
                };
@@ -271,15 +264,6 @@ class PbxprojectTemplate
                        path = {{{name}}};
                        sourceTree = "<group>";
                };
-               AF9F83CF1A5F0D21004B62C0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               AF9F83D01A5F0D21004B62C0 /* Info.plist */,
-                               AF9F83D11A5F0D21004B62C0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -343,6 +327,7 @@ class PbxprojectTemplate
 """
 
                add """
+                               0FDD07A21C6F8E0E006FF70E /* LaunchScreen.storyboard in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -364,25 +349,6 @@ class PbxprojectTemplate
                };
 /* End PBXSourcesBuildPhase section */
 
-/* Begin PBXVariantGroup section */
-               AF9F83DD1A5F0D21004B62C0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               AF9F83DE1A5F0D21004B62C0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               AF9F83E21A5F0D21004B62C0 /* LaunchScreen.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               AF9F83E31A5F0D21004B62C0 /* Base */,
-                       );
-                       name = LaunchScreen.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
 /* Begin XCBuildConfiguration section */
                AF9F83F11A5F0D21004B62C0 /* Debug */ = {
                        isa = XCBuildConfiguration;
@@ -528,7 +494,7 @@ class PlistTemplate
        <key>CFBundleShortVersionString</key>
        <string>{{{short_version}}}</string>
        <key>CFBundleSignature</key>
-       <string>\\?\\?\\?\\?</string>
+       <string>????</string>
        <key>CFBundleVersion</key>
        <string>{{{bundle_version}}}</string>
        <key>LSRequiresIPhoneOS</key>
@@ -551,6 +517,9 @@ class PlistTemplate
                <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
 
+       <key>UILaunchStoryboardName</key>
+       <string>LaunchScreen</string>
+
        <key>NSAppTransportSecurity</key>
        <dict>
                <key>NSAllowsArbitraryLoads</key><true/>
@@ -560,3 +529,72 @@ class PlistTemplate
 """
        end
 end
+
+# Template for the loading screen to generate `LaunchScreen.storyboard`
+class LaunchScreenStoryboardTemplate
+       super Template
+
+       # Large text to show in the center of the loading screen
+       var title = "" is writable
+
+       # Text to show at the bottom of the loading screen
+       var subtitle = "" is writable
+
+       # TODO make this more customizable by moving the subviews block as an attribute
+       # or by allowing to pass a custom file from the ` res/` folder.
+
+       redef fun rendering
+       do
+               add """
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
+        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="EHf-IW-A2E">
+            <objects>
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
+                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="{{{subtitle}}}" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
+                                <rect key="frame" x="20" y="559" width="560" height="21"/>
+                                <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="{{{title}}}" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
+                                <rect key="frame" x="20" y="176" width="560" height="43"/>
+                                <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
+                                <color key="textColor" red="0.0" green="0.5" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                        </subviews>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                        <constraints>
+                            <constraint firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
+                            <constraint firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
+                            <constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
+                            <constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
+                            <constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
+                            <constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="53" y="375"/>
+        </scene>
+    </scenes>
+</document>"""
+       end
+end