-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Copy HelloIOS to HelloMacCatalyst & make it run on Catalyst. * Update README with Mac Catalyst instructions * Adds the Catalyst project to vs/net6-samples-ios.sln Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
- Loading branch information
1 parent
dc02251
commit afb1acb
Showing
25 changed files
with
390 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
using Foundation; | ||
using UIKit; | ||
|
||
namespace HelloiOS | ||
{ | ||
// 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 class AppDelegate : UIApplicationDelegate | ||
{ | ||
// class-level declarations | ||
|
||
public override UIWindow Window | ||
{ | ||
get; | ||
set; | ||
} | ||
|
||
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) | ||
{ | ||
// create a new window instance based on the screen size | ||
Window = new UIWindow(UIScreen.MainScreen.Bounds); | ||
var vc = new UIViewController (); | ||
vc.View.AddSubview (new UILabel (Window.Frame) | ||
{ | ||
BackgroundColor = UIColor.White, | ||
TextAlignment = UITextAlignment.Center, | ||
Text = "Hello, .NET 6!" | ||
}); | ||
Window.RootViewController = vc; | ||
|
||
// make the window visible | ||
Window.MakeKeyAndVisible(); | ||
|
||
return true; | ||
} | ||
|
||
public override void OnResignActivation(UIApplication application) | ||
{ | ||
// Invoked when the application is about to move from active to inactive state. | ||
// This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) | ||
// or when the user quits the application and it begins the transition to the background state. | ||
// Games should use this method to pause the game. | ||
} | ||
|
||
public override void DidEnterBackground(UIApplication application) | ||
{ | ||
// Use this method to release shared resources, save user data, invalidate timers and store the application state. | ||
// If your application supports background execution this method is called instead of WillTerminate when the user quits. | ||
} | ||
|
||
public override void WillEnterForeground(UIApplication application) | ||
{ | ||
// Called as part of the transition from background to active state. | ||
// Here you can undo many of the changes made on entering the background. | ||
} | ||
|
||
public override void OnActivated(UIApplication application) | ||
{ | ||
// Restart any tasks that were paused (or not yet started) while the application was inactive. | ||
// If the application was previously in the background, optionally refresh the user interface. | ||
} | ||
|
||
public override void WillTerminate(UIApplication application) | ||
{ | ||
// Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground. | ||
} | ||
} | ||
} | ||
|
||
|
117 changes: 117 additions & 0 deletions
117
HelloMacCatalyst/Assets.xcassets/AppIcon.appiconset/Contents.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" | ||
} | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
<PropertyGroup> | ||
<TargetFramework>net6.0-maccatalyst</TargetFramework> | ||
<RuntimeIdentifier>maccatalyst-x64</RuntimeIdentifier> | ||
<OutputType>Exe</OutputType> | ||
</PropertyGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<?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>CFBundleDisplayName</key> | ||
<string>Hello Mac Catalyst</string> | ||
<key>CFBundleIdentifier</key> | ||
<string>com.microsoft.net6.hellomaccatalyst</string> | ||
<key>CFBundleShortVersionString</key> | ||
<string>1.0</string> | ||
<key>CFBundleVersion</key> | ||
<string>1.0</string> | ||
<key>LSMinimumSystemVersion</key> | ||
<string>10.15.1</string> | ||
<key>UIDeviceFamily</key> | ||
<array> | ||
<integer>2</integer> | ||
</array> | ||
<key>UILaunchStoryboardName</key> | ||
<string>LaunchScreen</string> | ||
<key>UISupportedInterfaceOrientations</key> | ||
<array> | ||
<string>UIInterfaceOrientationPortrait</string> | ||
<string>UIInterfaceOrientationLandscapeLeft</string> | ||
<string>UIInterfaceOrientationLandscapeRight</string> | ||
</array> | ||
<key>XSAppIconAssets</key> | ||
<string>Assets.xcassets/AppIcon.appiconset</string> | ||
</dict> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="222" launchScreen="YES"> | ||
<dependencies> | ||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> | ||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||
</dependencies> | ||
<scenes> | ||
<scene sceneID="221"> | ||
<objects> | ||
<viewController id="222" sceneMemberID="viewController"> | ||
<layoutGuides> | ||
<viewControllerLayoutGuide type="top" id="219"/> | ||
<viewControllerLayoutGuide type="bottom" id="220"/> | ||
</layoutGuides> | ||
<view key="view" contentMode="scaleToFill" id="223"> | ||
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/> | ||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
</view> | ||
</viewController> | ||
<placeholder placeholderIdentifier="IBFirstResponder" id="224" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
</objects> | ||
<point key="canvasLocation" x="-200" y="-388"/> | ||
</scene> | ||
</scenes> | ||
</document> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
using UIKit; | ||
|
||
namespace HelloiOS | ||
{ | ||
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"); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES"> | ||
<dependencies> | ||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207" /> | ||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1" /> | ||
</dependencies> | ||
<objects> | ||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" /> | ||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder" /> | ||
<view contentMode="scaleToFill" id="iN0-l3-epB"> | ||
<rect key="frame" x="0.0" y="0.0" width="480" height="480" /> | ||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" /> | ||
<subviews> | ||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2017 " textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" | ||
minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye"> | ||
<rect key="frame" x="20" y="439" width="441" height="21" /> | ||
<fontDescription key="fontDescription" type="system" pointSize="17" /> | ||
<color key="textColor" cocoaTouchSystemColor="darkTextColor" /> | ||
<nil key="highlightedColor" /> | ||
</label> | ||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="HelloiOS" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" | ||
minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX"> | ||
<rect key="frame" x="20" y="140" width="441" height="43" /> | ||
<fontDescription key="fontDescription" type="boldSystem" pointSize="36" /> | ||
<color key="textColor" cocoaTouchSystemColor="darkTextColor" /> | ||
<nil key="highlightedColor" /> | ||
</label> | ||
</subviews> | ||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite" /> | ||
<constraints> | ||
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC" /> | ||
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk" /> | ||
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l" /> | ||
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0" /> | ||
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9" /> | ||
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g" /> | ||
</constraints> | ||
<nil key="simulatedStatusBarMetrics" /> | ||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics" /> | ||
<point key="canvasLocation" x="548" y="455" /> | ||
</view> | ||
</objects> | ||
</document> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
using System; | ||
using Foundation; | ||
using UIKit; | ||
|
||
namespace NewSingleViewTemplate { | ||
[Register ("SceneDelegate")] | ||
public class SceneDelegate : UIResponder, IUIWindowSceneDelegate { | ||
|
||
[Export ("window")] | ||
public UIWindow Window { get; set; } | ||
|
||
[Export ("scene:willConnectToSession:options:")] | ||
public void WillConnect (UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions) | ||
{ | ||
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. | ||
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene. | ||
// This delegate does not imply the connecting scene or session are new (see UIApplicationDelegate `GetConfiguration` instead). | ||
} | ||
|
||
[Export ("sceneDidDisconnect:")] | ||
public void DidDisconnect (UIScene scene) | ||
{ | ||
// Called as the scene is being released by the system. | ||
// This occurs shortly after the scene enters the background, or when its session is discarded. | ||
// Release any resources associated with this scene that can be re-created the next time the scene connects. | ||
// The scene may re-connect later, as its session was not neccessarily discarded (see UIApplicationDelegate `DidDiscardSceneSessions` instead). | ||
} | ||
|
||
[Export ("sceneDidBecomeActive:")] | ||
public void DidBecomeActive (UIScene scene) | ||
{ | ||
// Called when the scene has moved from an inactive state to an active state. | ||
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. | ||
} | ||
|
||
[Export ("sceneWillResignActive:")] | ||
public void WillResignActive (UIScene scene) | ||
{ | ||
// Called when the scene will move from an active state to an inactive state. | ||
// This may occur due to temporary interruptions (ex. an incoming phone call). | ||
} | ||
|
||
[Export ("sceneWillEnterForeground:")] | ||
public void WillEnterForeground (UIScene scene) | ||
{ | ||
// Called as the scene transitions from the background to the foreground. | ||
// Use this method to undo the changes made on entering the background. | ||
} | ||
|
||
[Export ("sceneDidEnterBackground:")] | ||
public void DidEnterBackground (UIScene scene) | ||
{ | ||
// Called as the scene transitions from the foreground to the background. | ||
// Use this method to save data, release shared resources, and store enough scene-specific state information | ||
// to restore the scene back to its current state. | ||
} | ||
} | ||
} |
Oops, something went wrong.