summaryrefslogtreecommitdiff
path: root/csharp/xamarin/controller/controller.iOS
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/xamarin/controller/controller.iOS')
-rw-r--r--csharp/xamarin/controller/controller.iOS/AppDelegate.cs64
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json117
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.pngbin0 -> 70429 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.pngbin0 -> 3773 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.pngbin0 -> 4750 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.pngbin0 -> 4692 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.pngbin0 -> 5192 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.pngbin0 -> 1313 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.pngbin0 -> 845 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.pngbin0 -> 1101 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.pngbin0 -> 1761 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.pngbin0 -> 2537 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.pngbin0 -> 2332 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.pngbin0 -> 2454 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.pngbin0 -> 2758 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Entitlements.plist6
-rw-r--r--csharp/xamarin/controller/controller.iOS/Info.plist38
-rw-r--r--csharp/xamarin/controller/controller.iOS/Main.cs24
-rw-r--r--csharp/xamarin/controller/controller.iOS/Properties/AssemblyInfo.cs36
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/Default-568h@2x.pngbin0 -> 8884 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait.pngbin0 -> 10710 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait@2x.pngbin0 -> 34540 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/Default.pngbin0 -> 7243 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/Default@2x.pngbin0 -> 8368 bytes
-rw-r--r--csharp/xamarin/controller/controller.iOS/Resources/LaunchScreen.storyboard39
-rw-r--r--csharp/xamarin/controller/controller.iOS/controller.iOS.csproj202
26 files changed, 526 insertions, 0 deletions
diff --git a/csharp/xamarin/controller/controller.iOS/AppDelegate.cs b/csharp/xamarin/controller/controller.iOS/AppDelegate.cs
new file mode 100644
index 00000000000..1f4728470ab
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/AppDelegate.cs
@@ -0,0 +1,64 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+using Foundation;
+using UIKit;
+
+namespace controller.iOS
+{
+ // The UIApplicationDelegate for the application. This class is responsible for launching the
+ // User Interface of the application, as well as listening (and optionally responding) to
+ // application events from iOS.
+ [Register("AppDelegate")]
+ public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate,
+ Test.PlatformAdapter
+ {
+ public string processControllerIdentity()
+ {
+ if(isEmulator())
+ {
+ return "iPhoneSimulator/com.zeroc.Xamarin-Test-Controller";
+ }
+ else
+ {
+ return "iPhoneOS/com.zeroc.Xamarin-Test-Controller";
+ }
+ }
+
+ //
+ // This method is invoked when the application has loaded and is ready to run. In this
+ // method you should instantiate the window, load the UI into it and then make the window
+ // visible.
+ //
+ // You have 17 seconds to return from this method, or iOS will terminate your application.
+ //
+ public override bool FinishedLaunching(UIApplication app, NSDictionary options)
+ {
+ global::Xamarin.Forms.Forms.Init();
+ LoadApplication(new App(this));
+
+ return base.FinishedLaunching(app, options);
+ }
+
+ public bool isEmulator()
+ {
+ return true;
+ }
+
+ public string processControllerRegistryHost()
+ {
+ return "127.0.0.1";
+ }
+
+ public bool registerProcessController()
+ {
+ return true;
+ }
+ }
+}
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000000..8db9066b38a
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,117 @@
+{
+ "images": [
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "3x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon60.png"
+ },
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon58.png"
+ },
+ {
+ "scale": "3x",
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon87.png"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon80.png"
+ },
+ {
+ "scale": "3x",
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon120.png"
+ },
+ {
+ "scale": "2x",
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon120.png"
+ },
+ {
+ "scale": "3x",
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon180.png"
+ },
+ {
+ "scale": "1x",
+ "size": "20x20",
+ "idiom": "ipad",
+ "filename": "Icon20.png"
+ },
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "ipad",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "1x",
+ "size": "29x29",
+ "idiom": "ipad",
+ "filename": "Icon29.png"
+ },
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "ipad",
+ "filename": "Icon58.png"
+ },
+ {
+ "scale": "1x",
+ "size": "40x40",
+ "idiom": "ipad",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "ipad",
+ "filename": "Icon80.png"
+ },
+ {
+ "scale": "1x",
+ "size": "76x76",
+ "idiom": "ipad",
+ "filename": "Icon76.png"
+ },
+ {
+ "scale": "2x",
+ "size": "76x76",
+ "idiom": "ipad",
+ "filename": "Icon152.png"
+ },
+ {
+ "scale": "2x",
+ "size": "83.5x83.5",
+ "idiom": "ipad",
+ "filename": "Icon167.png"
+ },
+ {
+ "scale": "1x",
+ "size": "1024x1024",
+ "idiom": "ios-marketing",
+ "filename": "Icon1024.png"
+ }
+ ],
+ "properties": {},
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png
new file mode 100644
index 00000000000..9174c989a9c
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png
new file mode 100644
index 00000000000..9c60a1761db
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png
new file mode 100644
index 00000000000..448d6efb577
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png
new file mode 100644
index 00000000000..8524768f8d7
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png
new file mode 100644
index 00000000000..60a64703c0f
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png
new file mode 100644
index 00000000000..45268a641c5
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png
new file mode 100644
index 00000000000..6a6c77a8b4c
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png
new file mode 100644
index 00000000000..cc7edcf5cb4
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png
new file mode 100644
index 00000000000..1ad04f004b6
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png
new file mode 100644
index 00000000000..2dd52620a8f
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png
new file mode 100644
index 00000000000..b058cae2f44
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png
new file mode 100644
index 00000000000..02e47a26115
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png
new file mode 100644
index 00000000000..4954a4bd33f
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Entitlements.plist b/csharp/xamarin/controller/controller.iOS/Entitlements.plist
new file mode 100644
index 00000000000..9ae599370b4
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Entitlements.plist
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+</dict>
+</plist>
diff --git a/csharp/xamarin/controller/controller.iOS/Info.plist b/csharp/xamarin/controller/controller.iOS/Info.plist
new file mode 100644
index 00000000000..6ac54ed218e
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Info.plist
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>UIDeviceFamily</key>
+ <array>
+ <integer>1</integer>
+ <integer>2</integer>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>MinimumOSVersion</key>
+ <string>8.0</string>
+ <key>CFBundleDisplayName</key>
+ <string>TestController</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.zeroc.Xamarin-Test-Controller</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ <key>CFBundleName</key>
+ <string>controller</string>
+ <key>XSAppIconAssets</key>
+ <string>Assets.xcassets/AppIcon.appiconset</string>
+</dict>
+</plist>
diff --git a/csharp/xamarin/controller/controller.iOS/Main.cs b/csharp/xamarin/controller/controller.iOS/Main.cs
new file mode 100644
index 00000000000..70afb4f1b8d
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Main.cs
@@ -0,0 +1,24 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+using UIKit;
+
+namespace controller.iOS
+{
+ public class Application
+ {
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, "AppDelegate");
+ }
+ }
+}
diff --git a/csharp/xamarin/controller/controller.iOS/Properties/AssemblyInfo.cs b/csharp/xamarin/controller/controller.iOS/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000000..e1e48515913
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("controller.iOS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("controller.iOS")]
+[assembly: AssemblyCopyright("Copyright © 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/Default-568h@2x.png b/csharp/xamarin/controller/controller.iOS/Resources/Default-568h@2x.png
new file mode 100644
index 00000000000..26c6461e50a
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/Default-568h@2x.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait.png b/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait.png
new file mode 100644
index 00000000000..5d0d1ab4c6d
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait@2x.png b/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait@2x.png
new file mode 100644
index 00000000000..0ee2688e8f1
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/Default-Portrait@2x.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/Default.png b/csharp/xamarin/controller/controller.iOS/Resources/Default.png
new file mode 100644
index 00000000000..b74643c0aa3
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/Default.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/Default@2x.png b/csharp/xamarin/controller/controller.iOS/Resources/Default@2x.png
new file mode 100644
index 00000000000..dbd6bd3e864
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/Default@2x.png
Binary files differ
diff --git a/csharp/xamarin/controller/controller.iOS/Resources/LaunchScreen.storyboard b/csharp/xamarin/controller/controller.iOS/Resources/LaunchScreen.storyboard
new file mode 100644
index 00000000000..a639c2f1a5b
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/Resources/LaunchScreen.storyboard
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="X5k-f2-b5h">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="gAE-YM-kbH">
+ <objects>
+ <viewController id="X5k-f2-b5h" sceneMemberID="viewController">
+ <layoutGuides>
+ <viewControllerLayoutGuide type="top" id="Y8P-hJ-Z43"/>
+ <viewControllerLayoutGuide type="bottom" id="9ZL-r4-8FZ"/>
+ </layoutGuides>
+ <view key="view" contentMode="scaleToFill" id="yd7-JS-zBw">
+ <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="Icon-60.png" translatesAutoresizingMaskIntoConstraints="NO" id="23">
+ <rect key="frame" x="270" y="270" width="60" height="60"/>
+ <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
+ </imageView>
+ </subviews>
+ <color key="backgroundColor" red="0.20392156862745098" green="0.59607843137254901" blue="0.85882352941176465" alpha="1" colorSpace="calibratedRGB"/>
+ <constraints>
+ <constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/>
+ <constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/>
+ </constraints>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="XAI-xm-WK6" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="349" y="339"/>
+ </scene>
+ </scenes>
+ <resources>
+ <image name="Icon-60.png" width="180" height="180"/>
+ </resources>
+</document>
diff --git a/csharp/xamarin/controller/controller.iOS/controller.iOS.csproj b/csharp/xamarin/controller/controller.iOS/controller.iOS.csproj
new file mode 100644
index 00000000000..dd38ce358c3
--- /dev/null
+++ b/csharp/xamarin/controller/controller.iOS/controller.iOS.csproj
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{FD70EC29-8D51-4F4F-8AD7-64170F22575D}</ProjectGuid>
+ <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <TemplateGuid>{6143fdea-f3c2-4a09-aafa-6e230626515e}</TemplateGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>controller.iOS</RootNamespace>
+ <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
+ <AssemblyName>controller.iOS</AssemblyName>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
+ <DefineConstants>DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <MtouchArch>x86_64</MtouchArch>
+ <MtouchLink>None</MtouchLink>
+ <MtouchDebug>true</MtouchDebug>
+ <CodesignKey>iPhone Developer</CodesignKey>
+ <CodesignProvision>
+ </CodesignProvision>
+ <CodesignExtraArgs />
+ <CodesignResourceRules />
+ <CodesignEntitlements />
+ <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\iPhoneSimulator\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <MtouchLink>None</MtouchLink>
+ <MtouchArch>x86_64</MtouchArch>
+ <ConsolePause>false</ConsolePause>
+ <MtouchDebug>true</MtouchDebug>
+ <IOSDebugOverWiFi>true</IOSDebugOverWiFi>
+ <CodesignKey>iPhone Developer</CodesignKey>
+ <CodesignProvision>
+ </CodesignProvision>
+ <CodesignExtraArgs />
+ <CodesignResourceRules />
+ <CodesignEntitlements />
+ <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\iPhone\Debug</OutputPath>
+ <DefineConstants>DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <MtouchArch>ARM64</MtouchArch>
+ <CodesignKey>iPhone Developer</CodesignKey>
+ <MtouchDebug>true</MtouchDebug>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ <CodesignProvision />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\iPhone\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <MtouchArch>ARM64</MtouchArch>
+ <ConsolePause>false</ConsolePause>
+ <CodesignKey>iPhone Developer: Jose Gutierrez de la Concha (D477889FLX)</CodesignKey>
+ <CodesignEntitlements>
+ </CodesignEntitlements>
+ <MtouchDebug>true</MtouchDebug>
+ <CodesignProvision>VS: WildCard Development</CodesignProvision>
+ <CodesignExtraArgs />
+ <CodesignResourceRules />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>True</Optimize>
+ <OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>False</ConsolePause>
+ <MtouchArch>ARM64</MtouchArch>
+ <BuildIpa>True</BuildIpa>
+ <CodesignProvision>Automatic:AdHoc</CodesignProvision>
+ <CodesignKey>iPhone Distribution</CodesignKey>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>True</Optimize>
+ <OutputPath>bin\iPhone\AppStore</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>False</ConsolePause>
+ <MtouchArch>ARM64</MtouchArch>
+ <CodesignProvision>Automatic:AppStore</CodesignProvision>
+ <CodesignKey>iPhone Distribution</CodesignKey>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
+ <AppExtensionDebugBundleId />
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Main.cs" />
+ <Compile Include="AppDelegate.cs" />
+ <None Include="Entitlements.plist" />
+ <None Include="Info.plist" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Choose>
+ <When Condition="'$(ICE_BIN_DIST)' == 'all'">
+ <ItemGroup>
+ <PackageReference Include="zeroc.ice.net" Version="3.7.1" />
+ </ItemGroup>
+ </When>
+ <Otherwise>
+ <ItemGroup>
+ <Reference Include="..\..\..\lib\netstandard2.0\Ice.dll" />
+ <Reference Include="..\..\..\lib\netstandard2.0\IceSSL.dll" />
+ <Reference Include="..\..\..\lib\netstandard2.0\IceDiscovery.dll" />
+ </ItemGroup>
+ </Otherwise>
+ </Choose>
+ <ItemGroup>
+ <InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon1024.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon180.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon167.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon152.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon120.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon87.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon80.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon76.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon60.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon58.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon40.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon29.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon20.png">
+ <Visible>false</Visible>
+ </ImageAsset>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Core" />
+ <Reference Include="Xamarin.iOS" />
+ </ItemGroup>
+ <ItemGroup>
+ <PackageReference Include="Xamarin.Forms" Version="3.0.0.561731" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\test\TestCommon\msbuild\testcommon\netstandard2.0\testcommon.csproj">
+ <Project>{a62bf5e3-ad66-4edb-9bba-3e9bd6148425}</Project>
+ <Name>testcommon</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\controller\controller.csproj">
+ <Project>{D86C4CA0-7EF8-4A9B-B42F-CB2FBBC7B68F}</Project>
+ <Name>controller</Name>
+ </ProjectReference>
+ </ItemGroup>
+</Project> \ No newline at end of file