├── Step45
├── Step45KMM
│ ├── wearapp
│ │ ├── .gitignore
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── res
│ │ │ │ ├── values-round
│ │ │ │ │ └── strings.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.webp
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.webp
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.webp
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.webp
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.webp
│ │ │ │ ├── values
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── dimens.xml
│ │ │ │ └── layout
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── wearapp
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── AndroidManifest.xml
│ │ ├── proguard-rules.pro
│ │ └── build.gradle.kts
│ ├── iosApp
│ │ ├── DerivedData
│ │ │ └── iosApp
│ │ │ │ └── Build
│ │ │ │ └── Products
│ │ │ │ ├── Debug-iphonesimulator
│ │ │ │ ├── iosApp.app
│ │ │ │ │ ├── PkgInfo
│ │ │ │ │ ├── Watch
│ │ │ │ │ │ └── watchApp.app
│ │ │ │ │ │ │ ├── PkgInfo
│ │ │ │ │ │ │ ├── watchApp
│ │ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ │ ├── _WatchKitStub
│ │ │ │ │ │ │ └── WK
│ │ │ │ │ │ │ └── PlugIns
│ │ │ │ │ │ │ └── watchApp WatchKit Extension.appex
│ │ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ │ ├── watchApp WatchKit Extension
│ │ │ │ │ │ │ └── Frameworks
│ │ │ │ │ │ │ └── watchshared.framework
│ │ │ │ │ │ │ ├── watchshared
│ │ │ │ │ │ │ └── Info.plist
│ │ │ │ │ ├── iosApp
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── Frameworks
│ │ │ │ │ │ └── shared.framework
│ │ │ │ │ │ ├── Modules
│ │ │ │ │ │ └── module.modulemap
│ │ │ │ │ │ ├── shared
│ │ │ │ │ │ └── Info.plist
│ │ │ │ ├── iosApp.app.dSYM
│ │ │ │ │ └── Contents
│ │ │ │ │ │ ├── Resources
│ │ │ │ │ │ └── DWARF
│ │ │ │ │ │ │ └── iosApp
│ │ │ │ │ │ └── Info.plist
│ │ │ │ └── iosApp.swiftmodule
│ │ │ │ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ │ │ │ ├── arm64-apple-ios-simulator.swiftmodule
│ │ │ │ │ └── Project
│ │ │ │ │ └── arm64-apple-ios-simulator.swiftsourceinfo
│ │ │ │ └── Debug-watchsimulator
│ │ │ │ ├── watchApp.app
│ │ │ │ ├── PkgInfo
│ │ │ │ ├── watchApp
│ │ │ │ ├── Info.plist
│ │ │ │ ├── _WatchKitStub
│ │ │ │ │ └── WK
│ │ │ │ └── PlugIns
│ │ │ │ │ └── watchApp WatchKit Extension.appex
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── watchApp WatchKit Extension
│ │ │ │ │ └── Frameworks
│ │ │ │ │ └── watchshared.framework
│ │ │ │ │ ├── watchshared
│ │ │ │ │ └── Info.plist
│ │ │ │ ├── watchApp WatchKit Extension.appex
│ │ │ │ ├── Frameworks
│ │ │ │ │ └── watchshared.framework
│ │ │ │ │ │ ├── Modules
│ │ │ │ │ │ └── module.modulemap
│ │ │ │ │ │ ├── watchshared
│ │ │ │ │ │ └── Info.plist
│ │ │ │ ├── Info.plist
│ │ │ │ └── watchApp WatchKit Extension
│ │ │ │ └── watchApp_WatchKit_Extension.swiftmodule
│ │ │ │ ├── arm64-apple-watchos-simulator.swiftdoc
│ │ │ │ ├── x86_64-apple-watchos-simulator.swiftdoc
│ │ │ │ ├── arm64-apple-watchos-simulator.swiftmodule
│ │ │ │ ├── x86_64-apple-watchos-simulator.swiftmodule
│ │ │ │ └── Project
│ │ │ │ ├── arm64-apple-watchos-simulator.swiftsourceinfo
│ │ │ │ └── x86_64-apple-watchos-simulator.swiftsourceinfo
│ │ ├── iosApp
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ └── AccentColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ ├── Preview Content
│ │ │ │ └── Preview Assets.xcassets
│ │ │ │ │ └── Contents.json
│ │ │ ├── iOSApp.swift
│ │ │ ├── ContentView.swift
│ │ │ └── Info.plist
│ │ ├── watchApp
│ │ │ └── Assets.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ └── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ ├── watchApp WatchKit Extension
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ └── Complication.complicationset
│ │ │ │ │ ├── Graphic Bezel.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Graphic Corner.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Graphic Circular.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Graphic Large Rectangular.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Circular.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Modular.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Extra Large.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Utilitarian.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Graphic Extra Large.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ ├── Preview Content
│ │ │ │ └── Preview Assets.xcassets
│ │ │ │ │ └── Contents.json
│ │ │ ├── iosAppApp.swift
│ │ │ ├── Info.plist
│ │ │ └── ContentView.swift
│ │ └── iosApp.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ ├── xcuserdata
│ │ │ │ └── csabahuszar.xcuserdatad
│ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ └── csabahuszar.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── shared
│ │ └── src
│ │ │ ├── androidMain
│ │ │ ├── AndroidManifest.xml
│ │ │ └── kotlin
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── step45kmm
│ │ │ │ └── Platform.kt
│ │ │ ├── commonMain
│ │ │ └── kotlin
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── step45kmm
│ │ │ │ ├── Platform.kt
│ │ │ │ └── Greeting.kt
│ │ │ ├── watchosMain
│ │ │ └── kotlin
│ │ │ │ └── com.example.step45kmm
│ │ │ │ └── Platform.kt
│ │ │ └── iosMain
│ │ │ └── kotlin
│ │ │ └── com
│ │ │ └── example
│ │ │ └── step45kmm
│ │ │ └── Platform.kt
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── .gitignore
│ ├── settings.gradle.kts
│ ├── gradle.properties
│ └── build.gradle.kts
└── Step45MAUI
│ ├── Resources
│ ├── Fonts
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Semibold.ttf
│ ├── AppIcon
│ │ ├── appicon.svg
│ │ └── appiconfg.svg
│ ├── Raw
│ │ └── AboutAssets.txt
│ └── Splash
│ │ └── splash.svg
│ ├── AppShell.xaml.cs
│ ├── Properties
│ └── launchSettings.json
│ ├── App.xaml.cs
│ ├── Platforms
│ ├── Android
│ │ ├── Resources
│ │ │ └── values
│ │ │ │ └── colors.xml
│ │ ├── MainApplication.cs
│ │ ├── AndroidManifest.xml
│ │ └── MainActivity.cs
│ ├── iOS
│ │ ├── AppDelegate.cs
│ │ ├── Program.cs
│ │ └── Info.plist
│ ├── MacCatalyst
│ │ ├── AppDelegate.cs
│ │ ├── Program.cs
│ │ └── Info.plist
│ ├── Windows
│ │ ├── App.xaml
│ │ ├── app.manifest
│ │ ├── App.xaml.cs
│ │ └── Package.appxmanifest
│ └── Tizen
│ │ ├── Main.cs
│ │ └── tizen-manifest.xml
│ ├── MauiProgram.cs
│ ├── AppShell.xaml
│ ├── MainPage.xaml.cs
│ ├── App.xaml
│ ├── Step45MAUI.sln
│ └── MainPage.xaml
├── Step 1
├── Android
│ ├── Resources
│ │ ├── values
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ ├── ic_launcher_background.xml
│ │ │ ├── colors.xml
│ │ │ ├── wear.xml
│ │ │ └── styles.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ └── layout
│ │ │ ├── activity_main.xml
│ │ │ └── content_main.xml
│ ├── Step1Watch
│ │ └── Step1Watch.WearOSApp
│ │ │ ├── Resources
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ ├── wear.xml
│ │ │ │ └── dimens.xml
│ │ │ ├── values-round
│ │ │ │ └── strings.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ └── layout
│ │ │ │ └── activity_main.xml
│ │ │ ├── Assets
│ │ │ └── AboutAssets.txt
│ │ │ └── Properties
│ │ │ ├── AndroidManifest.xml
│ │ │ └── AssemblyInfo.cs
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
│ ├── Assets
│ │ └── AboutAssets.txt
│ └── Step1.sln
└── iOS
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Icon20.png
│ │ ├── Icon29.png
│ │ ├── Icon40.png
│ │ ├── Icon58.png
│ │ ├── Icon60.png
│ │ ├── Icon76.png
│ │ ├── Icon80.png
│ │ ├── Icon87.png
│ │ ├── Icon1024.png
│ │ ├── Icon120.png
│ │ ├── Icon152.png
│ │ ├── Icon167.png
│ │ └── Icon180.png
│ ├── Step1Watch
│ ├── Step1Watch.WatchOSApp
│ │ ├── Assets.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ ├── icon48.png
│ │ │ │ ├── icon55.png
│ │ │ │ ├── icon58.png
│ │ │ │ ├── icon80.png
│ │ │ │ ├── icon87.png
│ │ │ │ ├── icon88.png
│ │ │ │ ├── icon1024.png
│ │ │ │ ├── icon172.png
│ │ │ │ └── icon196.png
│ │ ├── Entitlements.plist
│ │ ├── Info.plist
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ └── Step1Watch.WatchOSExtension
│ │ ├── Entitlements.plist
│ │ ├── ExtensionDelegate.cs
│ │ ├── InterfaceController.designer.cs
│ │ └── Info.plist
│ ├── Entitlements.plist
│ ├── Main.cs
│ ├── ViewController.designer.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── LaunchScreen.storyboard
├── Step 2
├── Step2
│ ├── AssemblyInfo.cs
│ ├── Services
│ │ └── IWatch.cs
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Step2.csproj
│ └── MainPage.xaml
├── Step2.WearOSApp
│ ├── Resources
│ │ ├── values
│ │ │ ├── strings.xml
│ │ │ ├── wear.xml
│ │ │ └── dimens.xml
│ │ ├── values-round
│ │ │ └── strings.xml
│ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ └── layout
│ │ │ └── activity_main.xml
│ ├── Assets
│ │ └── AboutAssets.txt
│ └── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
├── Step2.iOS
│ ├── Resources
│ │ ├── Default.png
│ │ ├── Default@2x.png
│ │ ├── Default-568h@2x.png
│ │ ├── Default-Portrait.png
│ │ └── Default-Portrait@2x.png
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon1024.png
│ │ │ ├── Icon120.png
│ │ │ ├── Icon152.png
│ │ │ ├── Icon167.png
│ │ │ ├── Icon180.png
│ │ │ ├── Icon20.png
│ │ │ ├── Icon29.png
│ │ │ ├── Icon40.png
│ │ │ ├── Icon58.png
│ │ │ ├── Icon60.png
│ │ │ ├── Icon76.png
│ │ │ ├── Icon80.png
│ │ │ └── Icon87.png
│ ├── Entitlements.plist
│ ├── Main.cs
│ ├── AppDelegate.cs
│ ├── Info.plist
│ └── Properties
│ │ └── AssemblyInfo.cs
├── Step2.Android
│ ├── Resources
│ │ ├── mipmap-hdpi
│ │ │ ├── icon.png
│ │ │ └── launcher_foreground.png
│ │ ├── mipmap-mdpi
│ │ │ ├── icon.png
│ │ │ └── launcher_foreground.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── icon.png
│ │ │ └── launcher_foreground.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── icon.png
│ │ │ └── launcher_foreground.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── icon.png
│ │ │ └── launcher_foreground.png
│ │ ├── values
│ │ │ ├── wear.xml
│ │ │ ├── colors.xml
│ │ │ └── styles.xml
│ │ └── mipmap-anydpi-v26
│ │ │ ├── icon.xml
│ │ │ └── icon_round.xml
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
│ ├── Assets
│ │ └── AboutAssets.txt
│ └── MainActivity.cs
├── Step2.WatchOSApp
│ ├── mono_crash.mem.15157.10ff5e600.blob
│ ├── mono_crash.mem.15157.70000b553000.blob
│ ├── mono_crash.mem.15157.70000ded8000.blob
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── icon48.png
│ │ │ ├── icon55.png
│ │ │ ├── icon58.png
│ │ │ ├── icon80.png
│ │ │ ├── icon87.png
│ │ │ ├── icon88.png
│ │ │ ├── icon1024.png
│ │ │ ├── icon172.png
│ │ │ └── icon196.png
│ ├── Entitlements.plist
│ ├── Info.plist
│ └── Properties
│ │ └── AssemblyInfo.cs
└── Step2.WatchOSExtension
│ ├── Entitlements.plist
│ ├── ExtensionDelegate.cs
│ ├── InterfaceController.designer.cs
│ └── Info.plist
├── Step 3
├── Step3.WearOSApp
│ ├── Resources
│ │ ├── values
│ │ │ ├── strings.xml
│ │ │ ├── wear.xml
│ │ │ └── dimens.xml
│ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ └── layout
│ │ │ └── activity_main.xml
│ ├── AndroidManifest.xml
│ └── Step3.WearOSApp.csproj
├── Resources
│ ├── Fonts
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Semibold.ttf
│ ├── appicon.svg
│ ├── Raw
│ │ └── AboutAssets.txt
│ └── appiconfg.svg
├── Properties
│ └── launchSettings.json
├── AppShell.xaml.cs
├── Step3.WatchOSApp
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── icon48.png
│ │ │ ├── icon55.png
│ │ │ ├── icon58.png
│ │ │ ├── icon80.png
│ │ │ ├── icon87.png
│ │ │ ├── icon88.png
│ │ │ ├── icon1024.png
│ │ │ ├── icon172.png
│ │ │ └── icon196.png
│ ├── Entitlements.plist
│ ├── Info.plist
│ └── Properties
│ │ └── AssemblyInfo.cs
├── App.xaml.cs
├── Step3.WatchOSExtension
│ ├── Entitlements.plist
│ ├── ExtensionDelegate.cs
│ ├── InterfaceController.designer.cs
│ └── Info.plist
├── Platforms
│ ├── Android
│ │ ├── Resources
│ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── wear.xml
│ │ ├── MainApplication.cs
│ │ ├── MainActivity.cs
│ │ └── AndroidManifest.xml
│ ├── iOS
│ │ ├── AppDelegate.cs
│ │ ├── Program.cs
│ │ └── Info.plist
│ └── Tizen
│ │ ├── Main.cs
│ │ └── tizen-manifest.xml
├── Services
│ └── WatchService.cs
├── App.xaml
├── MauiProgram.cs
├── AppShell.xaml
├── MainPage.xaml
└── MainPage.xaml.cs
├── Step 4
├── Resources
│ ├── Fonts
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Semibold.ttf
│ ├── appicon.svg
│ ├── Raw
│ │ └── AboutAssets.txt
│ └── appiconfg.svg
├── Step4.watchOS
│ ├── Step4.watchOS WatchKit App
│ │ └── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ └── AccentColor.colorset
│ │ │ └── Contents.json
│ ├── Step4.watchOS WatchKit Extension
│ │ ├── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ └── Complication.complicationset
│ │ │ │ ├── Graphic Bezel.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Circular.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Corner.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Large Rectangular.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Circular.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Extra Large.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Modular.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Utilitarian.imageset
│ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Extra Large.imageset
│ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ ├── Preview Content
│ │ │ └── Preview Assets.xcassets
│ │ │ │ └── Contents.json
│ │ ├── Step4_watchOSApp.swift
│ │ ├── ContentView.swift
│ │ └── Info.plist
│ ├── build.sh
│ └── Step4.watchOS.xcodeproj
│ │ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcuserdata
│ │ │ └── bradmoore.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ └── bradmoore.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── Properties
│ └── launchSettings.json
├── AppShell.xaml.cs
├── App.xaml.cs
├── Platforms
│ ├── Android
│ │ ├── Resources
│ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── wear.xml
│ │ ├── MainApplication.cs
│ │ ├── MainActivity.cs
│ │ └── AndroidManifest.xml
│ ├── iOS
│ │ ├── AppDelegate.cs
│ │ ├── Program.cs
│ │ └── Info.plist
│ └── Tizen
│ │ ├── Main.cs
│ │ └── tizen-manifest.xml
├── Services
│ └── WatchService.cs
├── App.xaml
├── MauiProgram.cs
├── AppShell.xaml
├── MainPage.xaml
└── MainPage.xaml.cs
├── .gitignore
└── LICENSE
/Step45/Step45KMM/wearapp/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 | 16dp
3 |
4 |
--------------------------------------------------------------------------------
/Step 2/Step2/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms.Xaml;
2 |
3 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)]
4 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Step2
3 |
4 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Step3
3 |
4 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Resources/Default.png
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Resources/Default@2x.png
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/androidMain/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/values-round/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Hello Round World!
3 |
4 |
--------------------------------------------------------------------------------
/Step 3/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/Step 3/Resources/Fonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Resources/Fonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/Step 4/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 4/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/Step 4/Resources/Fonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 4/Resources/Fonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/values-round/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Hello Round World!
3 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Step1
3 |
4 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-hdpi/icon.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-mdpi/icon.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit App/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xhdpi/icon.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xxhdpi/icon.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45MAUI/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/values-round/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Hello Round World!
3 |
4 |
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/commonMain/kotlin/com/example/step45kmm/Platform.kt:
--------------------------------------------------------------------------------
1 | package com.example.step45kmm
2 |
3 | expect class Platform() {
4 | val platform: String
5 | }
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/Fonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45MAUI/Resources/Fonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Step1
3 | Settings
4 |
5 |
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png
--------------------------------------------------------------------------------
/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.10ff5e600.blob:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.10ff5e600.blob
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.70000b553000.blob:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.70000b553000.blob
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.70000ded8000.blob:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/mono_crash.mem.15157.70000ded8000.blob
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png
--------------------------------------------------------------------------------
/Step 3/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "MsixPackage",
5 | "nativeDebugging": false
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WearOSApp/Resources/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 4/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "MsixPackage",
5 | "nativeDebugging": false
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/Step45/Step45KMM/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | .idea
5 | .DS_Store
6 | /build
7 | */build
8 | /captures
9 | .externalNativeBuild
10 | .cxx
11 | local.properties
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #2C3E50
4 |
5 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-hdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-hdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-mdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-mdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #xcodebuild -list -project Step4.watchOS.xcodeproj
4 | xcodebuild -project Step4.watchOS.xcodeproj -scheme "Step4.watchOS WatchKit App" build
5 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/iOSApp.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | @main
4 | struct iOSApp: App {
5 | var body: some Scene {
6 | WindowGroup {
7 | ContentView()
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/wearapp/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/wearapp/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xxhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xxhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png
--------------------------------------------------------------------------------
/Step 3/AppShell.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step3;
2 |
3 | public partial class AppShell : Shell
4 | {
5 | public AppShell()
6 | {
7 | InitializeComponent();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png
--------------------------------------------------------------------------------
/Step 4/AppShell.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step4;
2 |
3 | public partial class AppShell : Shell
4 | {
5 | public AppShell()
6 | {
7 | InitializeComponent();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/wearapp/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/wearapp/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/wearapp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | bin/
3 | obj/
4 | .mfractor/
5 | .vs/
6 | mono_crash.*.json
7 | Step45/Step45KMM/iosApp/DerivedData/*
8 | !Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products
9 |
10 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 2/Step2.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 3/Step3.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png
--------------------------------------------------------------------------------
/Step45/Step45MAUI/AppShell.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step45MAUI;
2 |
3 | public partial class AppShell : Shell
4 | {
5 | public AppShell()
6 | {
7 | InitializeComponent();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "MsixPackage",
5 | "nativeDebugging": false
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/Step 3/App.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step3;
2 |
3 | public partial class App : Application
4 | {
5 | public App()
6 | {
7 | InitializeComponent();
8 |
9 | MainPage = new AppShell();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step 4/App.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step4;
2 |
3 | public partial class App : Application
4 | {
5 | public App()
6 | {
7 | InitializeComponent();
8 |
9 | MainPage = new AppShell();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/commonMain/kotlin/com/example/step45kmm/Greeting.kt:
--------------------------------------------------------------------------------
1 | package com.example.step45kmm
2 |
3 | class Greeting {
4 | fun greeting(): String {
5 | return "Hello, ${Platform().platform}!"
6 | }
7 | }
--------------------------------------------------------------------------------
/Step45/Step45MAUI/App.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step45MAUI;
2 |
3 | public partial class App : Application
4 | {
5 | public App()
6 | {
7 | InitializeComponent();
8 |
9 | MainPage = new AppShell();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon48.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon55.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon58.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon80.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon87.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon88.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon1024.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon172.png
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Assets.xcassets/AppIcon.appiconset/icon196.png
--------------------------------------------------------------------------------
/Step 1/iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/androidMain/kotlin/com/example/step45kmm/Platform.kt:
--------------------------------------------------------------------------------
1 | package com.example.step45kmm
2 |
3 | actual class Platform actual constructor() {
4 | actual val platform: String = "Android ${android.os.Build.VERSION.SDK_INT}"
5 | }
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/iosApp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/iosApp
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSExtension/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSExtension/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Info.plist
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/watchApp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/watchApp
--------------------------------------------------------------------------------
/Step 3/Resources/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Step 4/Resources/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/Info.plist
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #2c3e50
4 | #1B3147
5 | #3498db
6 |
7 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit App/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google()
4 | gradlePluginPortal()
5 | mavenCentral()
6 | }
7 | }
8 |
9 | rootProject.name = "Step45KMM"
10 | include(":shared")
11 | include(":wearapp")
12 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/_WatchKitStub/WK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/_WatchKitStub/WK
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSExtension/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/Step 3/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace Step3;
4 |
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/Step 4/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace Step4;
4 |
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Frameworks/shared.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module shared {
2 | umbrella header "shared.h"
3 |
4 | export *
5 | module * { export * }
6 |
7 | use Foundation
8 | }
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/AppIcon/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module watchshared {
2 | umbrella header "watchshared.h"
3 |
4 | export *
5 | module * { export * }
6 | }
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/watchApp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/watchApp
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace Step45MAUI;
4 |
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 |
--------------------------------------------------------------------------------
/Step 2/Step2/Services/IWatch.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | namespace Step2.Services
3 | {
4 | public interface IWatch
5 | {
6 | Action ValueUpdated { get; set; }
7 | void SendValue(int value);
8 | void Activate();
9 | void Deactivate();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/Info.plist
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Info.plist
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/watchosMain/kotlin/com.example.step45kmm/Platform.kt:
--------------------------------------------------------------------------------
1 | package com.example.step45kmm
2 |
3 | import platform.WatchKit.WKInterfaceDevice
4 |
5 | actual class Platform actual constructor() {
6 | actual val platform: String = WKInterfaceDevice.currentDevice().systemVersion
7 | }
8 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/MacCatalyst/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace Step45MAUI;
4 |
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jun 25 09:13:59 CEST 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Frameworks/shared.framework/shared:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Frameworks/shared.framework/shared
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/_WatchKitStub/WK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/_WatchKitStub/WK
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/csabahuszar.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/csabahuszar.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Step 2/Step2/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS.xcodeproj/project.xcworkspace/xcuserdata/bradmoore.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step 4/Step4.watchOS/Step4.watchOS.xcodeproj/project.xcworkspace/xcuserdata/bradmoore.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app.dSYM/Contents/Resources/DWARF/iosApp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app.dSYM/Contents/Resources/DWARF/iosApp
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step1_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/shared/src/iosMain/kotlin/com/example/step45kmm/Platform.kt:
--------------------------------------------------------------------------------
1 | package com.example.step45kmm
2 |
3 | import platform.UIKit.UIDevice
4 |
5 | actual class Platform actual constructor() {
6 | actual val platform: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion
7 | }
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step2_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/arm64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/arm64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 | #3F51B5
5 | #303F9F
6 | #FF4081
7 |
8 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSExtension/ExtensionDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Foundation;
4 | using WatchKit;
5 |
6 | namespace Step2.WatchOSExtension
7 | {
8 | public class ExtensionDelegate : WKExtensionDelegate
9 | {
10 | public ExtensionDelegate()
11 | {
12 | }
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step2_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Android/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step3_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSExtension/ExtensionDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Foundation;
4 | using WatchKit;
5 |
6 | namespace Step3.WatchOSExtension
7 | {
8 | public class ExtensionDelegate : WKExtensionDelegate
9 | {
10 | public ExtensionDelegate()
11 | {
12 | }
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step3_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Android/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step4_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/arm64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/arm64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-anydpi-v26/icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step 3/Services/WatchService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | namespace Step3.Services
3 | {
4 | public partial class WatchService
5 | {
6 | public Action ValueUpdated { get; set; }
7 | public partial void SendValue(int value);
8 | public partial void Activate();
9 | public partial void Deactivate();
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Step 4/Services/WatchService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | namespace Step4.Services
3 | {
4 | public partial class WatchService
5 | {
6 | public Action ValueUpdated { get; set; }
7 | public partial void SendValue(int value);
8 | public partial void Activate();
9 | public partial void Deactivate();
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/mipmap-anydpi-v26/icon_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/watchApp WatchKit Extension:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/watchApp WatchKit Extension
--------------------------------------------------------------------------------
/Step 1/Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Info.plist
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | wearApp
3 |
7 | Hello Square World!
8 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/values/wear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - step1_sync_count
5 |
6 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSExtension/ExtensionDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Foundation;
4 | using WatchKit;
5 |
6 | namespace Step1Watch.WatchOSExtension
7 | {
8 | public class ExtensionDelegate : WKExtensionDelegate
9 | {
10 | public ExtensionDelegate()
11 | {
12 | }
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/ContentView.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import shared
3 |
4 | struct ContentView: View {
5 | let greet = Greeting().greeting()
6 |
7 | var body: some View {
8 | Text(greet)
9 | }
10 | }
11 |
12 | struct ContentView_Previews: PreviewProvider {
13 | static var previews: some View {
14 | ContentView()
15 | }
16 | }
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/arm64-apple-watchos-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/arm64-apple-watchos-simulator.swiftdoc
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/x86_64-apple-watchos-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/x86_64-apple-watchos-simulator.swiftdoc
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/watchApp WatchKit Extension:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/watchApp WatchKit Extension
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/arm64-apple-watchos-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/arm64-apple-watchos-simulator.swiftmodule
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/x86_64-apple-watchos-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/x86_64-apple-watchos-simulator.swiftmodule
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Windows/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/gradle.properties:
--------------------------------------------------------------------------------
1 | #Gradle
2 | org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
3 |
4 | #Kotlin
5 | kotlin.code.style=official
6 |
7 | #Android
8 | android.useAndroidX=true
9 |
10 | #MPP
11 | kotlin.mpp.enableGranularSourceSetsMetadata=true
12 | kotlin.native.enableDependencyPropagation=false
13 | kotlin.mpp.enableCInteropCommonization=true
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Info.plist
--------------------------------------------------------------------------------
/Step 3/Platforms/Tizen/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Maui;
3 | using Microsoft.Maui.Hosting;
4 |
5 | namespace Step3;
6 |
7 | class Program : MauiApplication
8 | {
9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
10 |
11 | static void Main(string[] args)
12 | {
13 | var app = new Program();
14 | app.Run(args);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Tizen/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Maui;
3 | using Microsoft.Maui.Hosting;
4 |
5 | namespace Step4;
6 |
7 | class Program : MauiApplication
8 | {
9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
10 |
11 | static void Main(string[] args)
12 | {
13 | var app = new Program();
14 | app.Run(args);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/Project/arm64-apple-watchos-simulator.swiftsourceinfo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/Project/arm64-apple-watchos-simulator.swiftsourceinfo
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/Project/x86_64-apple-watchos-simulator.swiftsourceinfo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp_WatchKit_Extension.swiftmodule/Project/x86_64-apple-watchos-simulator.swiftsourceinfo
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/watchApp WatchKit Extension:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/watchApp WatchKit Extension
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Tizen/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Maui;
3 | using Microsoft.Maui.Hosting;
4 |
5 | namespace Step45MAUI;
6 |
7 | class Program : MauiApplication
8 | {
9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
10 |
11 | static void Main(string[] args)
12 | {
13 | var app = new Program();
14 | app.Run(args);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Runtime;
3 |
4 | namespace Step3;
5 |
6 | [Application]
7 | public class MainApplication : MauiApplication
8 | {
9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
10 | : base(handle, ownership)
11 | {
12 | }
13 |
14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
15 | }
16 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Runtime;
3 |
4 | namespace Step4;
5 |
6 | [Application]
7 | public class MainApplication : MauiApplication
8 | {
9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
10 | : base(handle, ownership)
11 | {
12 | }
13 |
14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
15 | }
16 |
--------------------------------------------------------------------------------
/Step 3/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace Step3;
5 |
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Step 4/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace Step4;
5 |
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beeradmoore/MAUI-Watch-n-Wear/HEAD/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/watchshared
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Runtime;
3 |
4 | namespace Step45MAUI;
5 |
6 | [Application]
7 | public class MainApplication : MauiApplication
8 | {
9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
10 | : base(handle, ownership)
11 | {
12 | }
13 |
14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
15 | }
16 |
--------------------------------------------------------------------------------
/Step 3/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Step 4/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace Step45MAUI;
5 |
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Step 1/iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace Step1
4 | {
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, "AppDelegate");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Step4_watchOSApp.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Step4_watchOSApp.swift
3 | // Step4.watchOS WatchKit Extension
4 | //
5 | // Created by Brad Moore on 18/5/2022.
6 | //
7 |
8 | import SwiftUI
9 |
10 | @main
11 | struct Step4_watchOSApp: App {
12 | var body: some Scene {
13 | WindowGroup {
14 | NavigationView {
15 | ContentView()
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/MacCatalyst/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace Step45MAUI;
5 |
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 |
5 | namespace Step3;
6 |
7 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
8 | public class MainActivity : MauiAppCompatActivity
9 | {
10 | }
11 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 |
5 | namespace Step4;
6 |
7 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
8 | public class MainActivity : MauiAppCompatActivity
9 | {
10 | }
11 |
--------------------------------------------------------------------------------
/Step 3/MauiProgram.cs:
--------------------------------------------------------------------------------
1 | namespace Step3;
2 |
3 | public static class MauiProgram
4 | {
5 | public static MauiApp CreateMauiApp()
6 | {
7 | var builder = MauiApp.CreateBuilder();
8 | builder
9 | .UseMauiApp()
10 | .ConfigureFonts(fonts =>
11 | {
12 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
13 | fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
14 | });
15 |
16 | return builder.Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Step 4/MauiProgram.cs:
--------------------------------------------------------------------------------
1 | namespace Step4;
2 |
3 | public static class MauiProgram
4 | {
5 | public static MauiApp CreateMauiApp()
6 | {
7 | var builder = MauiApp.CreateBuilder();
8 | builder
9 | .UseMauiApp()
10 | .ConfigureFonts(fonts =>
11 | {
12 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
13 | fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
14 | });
15 |
16 | return builder.Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 |
5 | namespace Step45MAUI;
6 |
7 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
8 | public class MainActivity : MauiAppCompatActivity
9 | {
10 | }
11 |
--------------------------------------------------------------------------------
/Step 3/AppShell.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step 4/AppShell.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/MauiProgram.cs:
--------------------------------------------------------------------------------
1 | namespace Step45MAUI;
2 |
3 | public static class MauiProgram
4 | {
5 | public static MauiApp CreateMauiApp()
6 | {
7 | var builder = MauiApp.CreateBuilder();
8 | builder
9 | .UseMauiApp()
10 | .ConfigureFonts(fonts =>
11 | {
12 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
13 | fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
14 | });
15 |
16 | return builder.Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/iosAppApp.swift:
--------------------------------------------------------------------------------
1 | //
2 | // iosAppApp.swift
3 | // watchApp WatchKit Extension
4 | //
5 | // Created by Csaba Huszár on 2022. 06. 25..
6 | // Copyright © 2022. orgName. All rights reserved.
7 | //
8 |
9 | import SwiftUI
10 |
11 | @main
12 | struct iosAppApp: App {
13 | var body: some Scene {
14 | WindowGroup {
15 | NavigationView {
16 | ContentView()
17 | }
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/AppShell.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/ContentView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContentView.swift
3 | // Step4.watchOS WatchKit Extension
4 | //
5 | // Created by Brad Moore on 18/5/2022.
6 | //
7 |
8 | import SwiftUI
9 |
10 | struct ContentView: View {
11 | var body: some View {
12 | Text("Hello, World!")
13 | .padding()
14 | }
15 | }
16 |
17 | struct ContentView_Previews: PreviewProvider {
18 | static var previews: some View {
19 | ContentView()
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : ">183"
11 | }
12 | ],
13 | "info" : {
14 | "author" : "xcode",
15 | "version" : 1
16 | },
17 | "properties" : {
18 | "auto-scaling" : "auto"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/build.gradle.kts:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0")
9 | classpath("com.android.tools.build:gradle:7.2.1")
10 | }
11 | }
12 |
13 | allprojects {
14 | repositories {
15 | google()
16 | mavenCentral()
17 | }
18 | }
19 |
20 | tasks.register("clean", Delete::class) {
21 | delete(rootProject.buildDir)
22 | }
--------------------------------------------------------------------------------
/Step45/Step45MAUI/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step45MAUI;
2 |
3 | public partial class MainPage : ContentPage
4 | {
5 | int count = 0;
6 |
7 | public MainPage()
8 | {
9 | InitializeComponent();
10 | }
11 |
12 | private void OnCounterClicked(object sender, EventArgs e)
13 | {
14 | count++;
15 |
16 | if (count == 1)
17 | CounterBtn.Text = $"Clicked {count} time";
18 | else
19 | CounterBtn.Text = $"Clicked {count} times";
20 |
21 | SemanticScreenReader.Announce(CounterBtn.Text);
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSExtension
6 |
7 | NSExtensionAttributes
8 |
9 | WKAppBundleIdentifier
10 | com.step45.iosApp.watchkitapp
11 |
12 | NSExtensionPointIdentifier
13 | com.apple.watchkit
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSExtension
6 |
7 | NSExtensionAttributes
8 |
9 | WKAppBundleIdentifier
10 | com.watchnwear.step4.watchkitapp
11 |
12 | NSExtensionPointIdentifier
13 | com.apple.watchkit
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace Step2.iOS
9 | {
10 | public class Application
11 | {
12 | // This is the main entry point of the application.
13 | static void Main(string[] args)
14 | {
15 | // if you want to use a different Application Delegate class from "AppDelegate"
16 | // you can specify it here.
17 | UIApplication.Main(args, null, "AppDelegate");
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Step 2/Step2/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 | using Xamarin.Forms.Xaml;
4 |
5 | namespace Step2
6 | {
7 | public partial class App : Application
8 | {
9 | public App()
10 | {
11 | InitializeComponent();
12 |
13 | MainPage = new MainPage();
14 | }
15 |
16 | protected override void OnStart()
17 | {
18 | }
19 |
20 | protected override void OnSleep()
21 | {
22 | }
23 |
24 | protected override void OnResume()
25 | {
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Step 3/Resources/Raw/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "MauiAsset":
3 |
4 |
5 |
6 | These files will be deployed with you package and will be accessible using Essentials:
7 |
8 | async Task LoadMauiAsset()
9 | {
10 | using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
11 | using var reader = new StreamReader(stream);
12 |
13 | var contents = reader.ReadToEnd();
14 | }
15 |
--------------------------------------------------------------------------------
/Step 4/Resources/Raw/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "MauiAsset":
3 |
4 |
5 |
6 | These files will be deployed with you package and will be accessible using Essentials:
7 |
8 | async Task LoadMauiAsset()
9 | {
10 | using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
11 | using var reader = new StreamReader(stream);
12 |
13 | var contents = reader.ReadToEnd();
14 | }
15 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/ContentView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContentView.swift
3 | // watchApp WatchKit Extension
4 | //
5 | // Created by Csaba Huszár on 2022. 06. 25..
6 | // Copyright © 2022. orgName. All rights reserved.
7 | //
8 |
9 | import SwiftUI
10 | import watchshared
11 |
12 | struct ContentView: View {
13 | let greet = Greeting().greeting()
14 |
15 | var body: some View {
16 | Text(greet)
17 | }
18 | }
19 |
20 | struct ContentView_Previews: PreviewProvider {
21 | static var previews: some View {
22 | ContentView()
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Circular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Circular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step 1/Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "scale" : "2x"
6 | },
7 | {
8 | "idiom" : "watch",
9 | "scale" : "2x",
10 | "screen-width" : "<=145"
11 | },
12 | {
13 | "idiom" : "watch",
14 | "scale" : "2x",
15 | "screen-width" : ">183"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "auto-scaling" : "auto"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/java/com/example/wearapp/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.wearapp
2 |
3 | import android.app.Activity
4 | import android.os.Bundle
5 | import com.example.step45kmm.Platform
6 | import com.example.wearapp.databinding.ActivityMainBinding
7 |
8 | class MainActivity : Activity() {
9 |
10 | private lateinit var binding: ActivityMainBinding
11 |
12 | override fun onCreate(savedInstanceState: Bundle?) {
13 | super.onCreate(savedInstanceState)
14 |
15 | binding = ActivityMainBinding.inflate(layoutInflater)
16 | binding.text.text = Platform().platform
17 | setContentView(binding.root)
18 |
19 | }
20 | }
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 0dp
8 |
9 |
14 | 5dp
15 |
16 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 0dp
8 |
9 |
14 | 5dp
15 |
16 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS.xcodeproj/xcuserdata/bradmoore.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Step4.watchOS WatchKit App (Complication).xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 1
11 |
12 | Step4.watchOS WatchKit App.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 0
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 0dp
8 |
9 |
14 | 5dp
15 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 0dp
8 |
9 |
14 | 5dp
15 |
16 |
--------------------------------------------------------------------------------
/Step 1/Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with your package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with your package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with your package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/Raw/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories). Deployment of the asset to your application
3 | is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
4 |
5 |
6 |
7 | These files will be deployed with you package and will be accessible using Essentials:
8 |
9 | async Task LoadMauiAsset()
10 | {
11 | using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
12 | using var reader = new StreamReader(stream);
13 |
14 | var contents = reader.ReadToEnd();
15 | }
16 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with your package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Step 2/Step2/Step2.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | true
6 |
7 |
8 |
9 | portable
10 | true
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Step 3/Platforms/Tizen/tizen-manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | appicon.xhigh.png
7 |
8 |
9 |
10 |
11 | http://tizen.org/privilege/internet
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step 4/Platforms/Tizen/tizen-manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | appicon.xhigh.png
7 |
8 |
9 |
10 |
11 | http://tizen.org/privilege/internet
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp.xcodeproj/xcuserdata/csabahuszar.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | iosApp.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | watchApp (Complication).xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 2
16 |
17 | watchApp.xcscheme_^#shared#^_
18 |
19 | orderHint
20 | 1
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Step 2/Step2/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Tizen/tizen-manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | appicon.xhigh.png
7 |
8 |
9 |
10 |
11 | http://tizen.org/privilege/internet
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.com.step45.iosApp
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Step 3/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Step 4/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Windows/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | true/PM
12 | PerMonitorV2, PerMonitor
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Windows/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 |
3 | // To learn more about WinUI, the WinUI project structure,
4 | // and more about our project templates, see: http://aka.ms/winui-project-info.
5 |
6 | namespace Step45MAUI.WinUI;
7 |
8 | ///
9 | /// Provides application-specific behavior to supplement the default Application class.
10 | ///
11 | public partial class App : MauiWinUIApplication
12 | {
13 | ///
14 | /// Initializes the singleton application object. This is the first line of authored code
15 | /// executed, and as such is the logical equivalent of main() or WinMain().
16 | ///
17 | public App()
18 | {
19 | this.InitializeComponent();
20 | }
21 |
22 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/Step 1/iOS/ViewController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Visual Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 | using System.CodeDom.Compiler;
9 |
10 | namespace Step1
11 | {
12 | [Register ("ViewController")]
13 | partial class ViewController
14 | {
15 | [Outlet]
16 | UIKit.UILabel displayLabel { get; set; }
17 |
18 | [Action ("decClicked:")]
19 | partial void decClicked (Foundation.NSObject sender);
20 |
21 | [Action ("incClicked:")]
22 | partial void incClicked (Foundation.NSObject sender);
23 |
24 | void ReleaseDesignerOutlets ()
25 | {
26 | if (displayLabel != null) {
27 | displayLabel.Dispose ();
28 | displayLabel = null;
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSExtension/InterfaceController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Visual Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 | using System.CodeDom.Compiler;
9 |
10 | namespace Step2.WatchOSExtension
11 | {
12 | [Register ("InterfaceController")]
13 | partial class InterfaceController
14 | {
15 | [Outlet]
16 | WatchKit.WKInterfaceLabel displayLabel { get; set; }
17 |
18 | [Action ("decClicked")]
19 | partial void decClicked ();
20 |
21 | [Action ("incClicked")]
22 | partial void incClicked ();
23 |
24 | void ReleaseDesignerOutlets ()
25 | {
26 | if (displayLabel != null) {
27 | displayLabel.Dispose ();
28 | displayLabel = null;
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSExtension/InterfaceController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Visual Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 | using System.CodeDom.Compiler;
9 |
10 | namespace Step3.WatchOSExtension
11 | {
12 | [Register ("InterfaceController")]
13 | partial class InterfaceController
14 | {
15 | [Outlet]
16 | WatchKit.WKInterfaceLabel displayLabel { get; set; }
17 |
18 | [Action ("decClicked")]
19 | partial void decClicked ();
20 |
21 | [Action ("incClicked")]
22 | partial void incClicked ();
23 |
24 | void ReleaseDesignerOutlets ()
25 | {
26 | if (displayLabel != null) {
27 | displayLabel.Dispose ();
28 | displayLabel = null;
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSExtension/InterfaceController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Visual Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 | using System.CodeDom.Compiler;
9 |
10 | namespace Step1Watch.WatchOSExtension
11 | {
12 | [Register ("InterfaceController")]
13 | partial class InterfaceController
14 | {
15 | [Outlet]
16 | WatchKit.WKInterfaceLabel displayLabel { get; set; }
17 |
18 | [Action ("decClicked")]
19 | partial void decClicked ();
20 |
21 | [Action ("incClicked")]
22 | partial void incClicked ();
23 |
24 | void ReleaseDesignerOutlets ()
25 | {
26 | if (displayLabel != null) {
27 | displayLabel.Dispose ();
28 | displayLabel = null;
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
17 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Step 1/Android/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("Step1")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("Step1")]
14 | [assembly: AssemblyCopyright("Copyright © 2018")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | [assembly: ComVisible(false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | [assembly: AssemblyVersion("1.0.0.0")]
26 | [assembly: AssemblyFileVersion("1.0.0.0")]
27 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("WearOSApp")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("WearOSApp")]
14 | [assembly: AssemblyCopyright("Copyright © 2018")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | //[assembly: ComVisible (false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | [assembly: AssemblyVersion("1.0.0.0")]
26 | [assembly: AssemblyFileVersion("1.0.0.0")]
27 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("WearOSApp")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("WearOSApp")]
14 | [assembly: AssemblyCopyright("Copyright © 2018")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | //[assembly: ComVisible (false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | [assembly: AssemblyVersion("1.0.0.0")]
26 | [assembly: AssemblyFileVersion("1.0.0.0")]
27 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleExecutable
6 | watchshared
7 | CFBundleIdentifier
8 | com.example.step45kmm.watchshared
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | watchshared
13 | CFBundlePackageType
14 | FMWK
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSupportedPlatforms
18 |
19 | WatchOS
20 |
21 | CFBundleVersion
22 | 1
23 | MinimumOSVersion
24 | 7.0
25 | UIDeviceFamily
26 |
27 | 4
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-watchsimulator/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleExecutable
6 | watchshared
7 | CFBundleIdentifier
8 | com.example.step45kmm.watchshared
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | watchshared
13 | CFBundlePackageType
14 | FMWK
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSupportedPlatforms
18 |
19 | WatchOS
20 |
21 | CFBundleVersion
22 | 1
23 | MinimumOSVersion
24 | 7.0
25 | UIDeviceFamily
26 |
27 | 4
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Watch/watchApp.app/PlugIns/watchApp WatchKit Extension.appex/Frameworks/watchshared.framework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleExecutable
6 | watchshared
7 | CFBundleIdentifier
8 | com.example.step45kmm.watchshared
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | watchshared
13 | CFBundlePackageType
14 | FMWK
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSupportedPlatforms
18 |
19 | WatchOS
20 |
21 | CFBundleVersion
22 | 1
23 | MinimumOSVersion
24 | 7.0
25 | UIDeviceFamily
26 |
27 | 4
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Brad
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step2.WatchOSApp
7 | CFBundleDisplayName
8 | Step2.WatchOSApp
9 | CFBundleIdentifier
10 | com.watchnwear.step2.watchkitapp
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | UISupportedInterfaceOrientations
20 |
21 | UIInterfaceOrientationPortrait
22 | UIInterfaceOrientationPortraitUpsideDown
23 |
24 | WKCompanionAppBundleIdentifier
25 | com.watchnwear.step2
26 | WKWatchKitApp
27 |
28 | XSAppIconAssets
29 | Resources/Images.xcassets/AppIcons.appiconset
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSExtension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step2.WatchOSExtension
7 | CFBundleDisplayName
8 | Step2.WatchOSExtension
9 | CFBundleIdentifier
10 | com.watchnwear.step2.watchkitapp.watchkitextension
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | NSExtension
20 |
21 | NSExtensionAttributes
22 |
23 | WKAppBundleIdentifier
24 | com.watchnwear.step2.watchkitapp
25 |
26 | NSExtensionPointIdentifier
27 | com.apple.watchkit
28 |
29 | RemoteInterfacePrincipleClass
30 | InterfaceController
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step3.WatchOSApp
7 | CFBundleDisplayName
8 | Step3.WatchOSApp
9 | CFBundleIdentifier
10 | com.watchnwear.step3.watchkitapp
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | UISupportedInterfaceOrientations
20 |
21 | UIInterfaceOrientationPortrait
22 | UIInterfaceOrientationPortraitUpsideDown
23 |
24 | WKCompanionAppBundleIdentifier
25 | com.watchnwear.step3
26 | WKWatchKitApp
27 |
28 | XSAppIconAssets
29 | Resources/Images.xcassets/AppIcons.appiconset
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSExtension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step3.WatchOSExtension
7 | CFBundleDisplayName
8 | Step3.WatchOSExtension
9 | CFBundleIdentifier
10 | com.watchnwear.step3.watchkitapp.watchkitextension
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | NSExtension
20 |
21 | NSExtensionAttributes
22 |
23 | WKAppBundleIdentifier
24 | com.watchnwear.step3.watchkitapp
25 |
26 | NSExtensionPointIdentifier
27 | com.apple.watchkit
28 |
29 | RemoteInterfacePrincipleClass
30 | InterfaceController
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/MacCatalyst/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UIRequiredDeviceCapabilities
11 |
12 | arm64
13 |
14 | UISupportedInterfaceOrientations
15 |
16 | UIInterfaceOrientationPortrait
17 | UIInterfaceOrientationLandscapeLeft
18 | UIInterfaceOrientationLandscapeRight
19 |
20 | UISupportedInterfaceOrientations~ipad
21 |
22 | UIInterfaceOrientationPortrait
23 | UIInterfaceOrientationPortraitUpsideDown
24 | UIInterfaceOrientationLandscapeLeft
25 | UIInterfaceOrientationLandscapeRight
26 |
27 | XSAppIconAssets
28 | Assets.xcassets/appicon.appiconset
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/DerivedData/iosApp/Build/Products/Debug-iphonesimulator/iosApp.app/Frameworks/shared.framework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleExecutable
6 | shared
7 | CFBundleIdentifier
8 | com.example.step45kmm.shared
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | shared
13 | CFBundlePackageType
14 | FMWK
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSupportedPlatforms
18 |
19 | iPhoneSimulator
20 |
21 | CFBundleVersion
22 | 1
23 | MinimumOSVersion
24 | 9.0
25 | UIDeviceFamily
26 |
27 | 1
28 | 2
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step1Watch.WatchOSApp
7 | CFBundleDisplayName
8 | Step1Watch.WatchOSApp
9 | CFBundleIdentifier
10 | com.watchnwear.step1.watchkitapp
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | UISupportedInterfaceOrientations
20 |
21 | UIInterfaceOrientationPortrait
22 | UIInterfaceOrientationPortraitUpsideDown
23 |
24 | WKCompanionAppBundleIdentifier
25 | com.watchnwear.step1
26 | WKWatchKitApp
27 |
28 | XSAppIconAssets
29 | Resources/Images.xcassets/AppIcons.appiconset
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSExtension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Step1Watch.WatchOSExtension
7 | CFBundleDisplayName
8 | Step1Watch.WatchOSExtension
9 | CFBundleIdentifier
10 | com.watchnwear.step1.watchkitapp.watchkitextension
11 | CFBundleDevelopmentRegion
12 | en
13 | CFBundleShortVersionString
14 | 1.0
15 | CFBundleVersion
16 | 1.0
17 | MinimumOSVersion
18 | 6.0
19 | NSExtension
20 |
21 | NSExtensionAttributes
22 |
23 | WKAppBundleIdentifier
24 | com.watchnwear.step1.watchkitapp
25 |
26 | NSExtensionPointIdentifier
27 | com.apple.watchkit
28 |
29 | RemoteInterfacePrincipleClass
30 | InterfaceController
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Step 3/Platforms/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LSRequiresIPhoneOS
6 |
7 | UIDeviceFamily
8 |
9 | 1
10 | 2
11 |
12 | UIRequiredDeviceCapabilities
13 |
14 | arm64
15 |
16 | UISupportedInterfaceOrientations
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationLandscapeLeft
20 | UIInterfaceOrientationLandscapeRight
21 |
22 | UISupportedInterfaceOrientations~ipad
23 |
24 | UIInterfaceOrientationPortrait
25 | UIInterfaceOrientationPortraitUpsideDown
26 | UIInterfaceOrientationLandscapeLeft
27 | UIInterfaceOrientationLandscapeRight
28 |
29 | XSAppIconAssets
30 | Assets.xcassets/appicon.appiconset
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LSRequiresIPhoneOS
6 |
7 | UIDeviceFamily
8 |
9 | 1
10 | 2
11 |
12 | UIRequiredDeviceCapabilities
13 |
14 | arm64
15 |
16 | UISupportedInterfaceOrientations
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationLandscapeLeft
20 | UIInterfaceOrientationLandscapeRight
21 |
22 | UISupportedInterfaceOrientations~ipad
23 |
24 | UIInterfaceOrientationPortrait
25 | UIInterfaceOrientationPortraitUpsideDown
26 | UIInterfaceOrientationLandscapeLeft
27 | UIInterfaceOrientationLandscapeRight
28 |
29 | XSAppIconAssets
30 | Assets.xcassets/appicon.appiconset
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("com.android.application")
3 | id("org.jetbrains.kotlin.android")
4 | }
5 |
6 | android {
7 | compileSdk = 32
8 |
9 | defaultConfig {
10 | applicationId = "com.example.wearapp"
11 | minSdk = 30
12 | targetSdk = 32
13 | versionCode = 1
14 | versionName = "1.0"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | isMinifyEnabled = false
21 | proguardFiles(
22 | getDefaultProguardFile("proguard-android-optimize.txt"),
23 | "proguard-rules.pro"
24 | )
25 | }
26 | }
27 | buildFeatures {
28 | viewBinding = true
29 | }
30 | }
31 |
32 | dependencies {
33 |
34 | implementation(project(":shared"))
35 |
36 | implementation("androidx.core:core-ktx:1.7.0")
37 | implementation("com.google.android.gms:play-services-wearable:17.1.0")
38 | implementation("androidx.percentlayout:percentlayout:1.0.0")
39 | implementation("androidx.legacy:legacy-support-v4:1.0.0")
40 | implementation("androidx.recyclerview:recyclerview:1.2.1")
41 | implementation("androidx.wear:wear:1.1.0")
42 | }
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace Step2.iOS
9 | {
10 | // The UIApplicationDelegate for the application. This class is responsible for launching the
11 | // User Interface of the application, as well as listening (and optionally responding) to
12 | // application events from iOS.
13 | [Register("AppDelegate")]
14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
15 | {
16 | //
17 | // This method is invoked when the application has loaded and is ready to run. In this
18 | // method you should instantiate the window, load the UI into it and then make the window
19 | // visible.
20 | //
21 | // You have 17 seconds to return from this method, or iOS will terminate your application.
22 | //
23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options)
24 | {
25 | global::Xamarin.Forms.Forms.Init();
26 | LoadApplication(new App());
27 |
28 | return base.FinishedLaunching(app, options);
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("Step2.Android")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("Step2.Android")]
14 | [assembly: AssemblyCopyright("Copyright © 2014")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | [assembly: ComVisible(false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | [assembly: AssemblyVersion("1.0.0.0")]
26 | [assembly: AssemblyFileVersion("1.0.0.0")]
27 |
28 | // Add some common permissions, these can be removed if not needed
29 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)]
30 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
31 |
--------------------------------------------------------------------------------
/Step 1/Android/Resources/layout/content_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
20 |
21 |
30 |
31 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Step 4/Platforms/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleShortVersionString
6 | 1.0
7 | CFBundleVersion
8 | 1.0
9 | LSRequiresIPhoneOS
10 |
11 | UIDeviceFamily
12 |
13 | 1
14 | 2
15 |
16 | UIRequiredDeviceCapabilities
17 |
18 | arm64
19 |
20 | UISupportedInterfaceOrientations
21 |
22 | UIInterfaceOrientationPortrait
23 | UIInterfaceOrientationLandscapeLeft
24 | UIInterfaceOrientationLandscapeRight
25 |
26 | UISupportedInterfaceOrientations~ipad
27 |
28 | UIInterfaceOrientationPortrait
29 | UIInterfaceOrientationPortraitUpsideDown
30 | UIInterfaceOrientationLandscapeLeft
31 | UIInterfaceOrientationLandscapeRight
32 |
33 | XSAppIconAssets
34 | Assets.xcassets/appicon.appiconset
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Step 2/Step2.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Android.App;
4 | using Android.Content.PM;
5 | using Android.Runtime;
6 | using Android.OS;
7 |
8 | namespace Step2.Droid
9 | {
10 | [Activity(Label = "Step2", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
11 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
12 | {
13 | protected override void OnCreate(Bundle savedInstanceState)
14 | {
15 | base.OnCreate(savedInstanceState);
16 |
17 | Xamarin.Essentials.Platform.Init(this, savedInstanceState);
18 | global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
19 | LoadApplication(new App());
20 | }
21 | public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
22 | {
23 | Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
24 |
25 | base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UISupportedInterfaceOrientations
11 |
12 | UIInterfaceOrientationPortrait
13 | UIInterfaceOrientationLandscapeLeft
14 | UIInterfaceOrientationLandscapeRight
15 |
16 | UISupportedInterfaceOrientations~ipad
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationPortraitUpsideDown
20 | UIInterfaceOrientationLandscapeLeft
21 | UIInterfaceOrientationLandscapeRight
22 |
23 | MinimumOSVersion
24 | 8.0
25 | CFBundleDisplayName
26 | Step2
27 | CFBundleIdentifier
28 | com.watchnwear.step2
29 | CFBundleVersion
30 | 1.0
31 | UILaunchStoryboardName
32 | LaunchScreen
33 | CFBundleName
34 | Step2
35 | XSAppIconAssets
36 | Assets.xcassets/AppIcon.appiconset
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Step45MAUI.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.0.31611.283
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Step45MAUI", "Step45MAUI.csproj", "{2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
17 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
18 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Release|Any CPU.Build.0 = Release|Any CPU
19 | {2D37EA0F-5D5A-49B9-AAB6-C50CDC8AB9E7}.Release|Any CPU.Deploy.0 = Release|Any CPU
20 | EndGlobalSection
21 | GlobalSection(SolutionProperties) = preSolution
22 | HideSolutionNode = FALSE
23 | EndGlobalSection
24 | GlobalSection(ExtensibilityGlobals) = postSolution
25 | SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
26 | EndGlobalSection
27 | EndGlobal
28 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Step3.WearOSApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net6.0-android
4 | 21
5 | Exe
6 | enable
7 | enable
8 | com.companyname.Step3.WearOSApp
9 | 1
10 | 1.0
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/watchApp WatchKit Extension/Assets.xcassets/Complication.complicationset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "assets" : [
3 | {
4 | "filename" : "Circular.imageset",
5 | "idiom" : "watch",
6 | "role" : "circular"
7 | },
8 | {
9 | "filename" : "Extra Large.imageset",
10 | "idiom" : "watch",
11 | "role" : "extra-large"
12 | },
13 | {
14 | "filename" : "Graphic Bezel.imageset",
15 | "idiom" : "watch",
16 | "role" : "graphic-bezel"
17 | },
18 | {
19 | "filename" : "Graphic Circular.imageset",
20 | "idiom" : "watch",
21 | "role" : "graphic-circular"
22 | },
23 | {
24 | "filename" : "Graphic Corner.imageset",
25 | "idiom" : "watch",
26 | "role" : "graphic-corner"
27 | },
28 | {
29 | "filename" : "Graphic Extra Large.imageset",
30 | "idiom" : "watch",
31 | "role" : "graphic-extra-large"
32 | },
33 | {
34 | "filename" : "Graphic Large Rectangular.imageset",
35 | "idiom" : "watch",
36 | "role" : "graphic-large-rectangular"
37 | },
38 | {
39 | "filename" : "Modular.imageset",
40 | "idiom" : "watch",
41 | "role" : "modular"
42 | },
43 | {
44 | "filename" : "Utilitarian.imageset",
45 | "idiom" : "watch",
46 | "role" : "utilitarian"
47 | }
48 | ],
49 | "info" : {
50 | "author" : "xcode",
51 | "version" : 1
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Step 4/Step4.watchOS/Step4.watchOS WatchKit Extension/Assets.xcassets/Complication.complicationset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "assets" : [
3 | {
4 | "filename" : "Circular.imageset",
5 | "idiom" : "watch",
6 | "role" : "circular"
7 | },
8 | {
9 | "filename" : "Extra Large.imageset",
10 | "idiom" : "watch",
11 | "role" : "extra-large"
12 | },
13 | {
14 | "filename" : "Graphic Bezel.imageset",
15 | "idiom" : "watch",
16 | "role" : "graphic-bezel"
17 | },
18 | {
19 | "filename" : "Graphic Circular.imageset",
20 | "idiom" : "watch",
21 | "role" : "graphic-circular"
22 | },
23 | {
24 | "filename" : "Graphic Corner.imageset",
25 | "idiom" : "watch",
26 | "role" : "graphic-corner"
27 | },
28 | {
29 | "filename" : "Graphic Extra Large.imageset",
30 | "idiom" : "watch",
31 | "role" : "graphic-extra-large"
32 | },
33 | {
34 | "filename" : "Graphic Large Rectangular.imageset",
35 | "idiom" : "watch",
36 | "role" : "graphic-large-rectangular"
37 | },
38 | {
39 | "filename" : "Modular.imageset",
40 | "idiom" : "watch",
41 | "role" : "modular"
42 | },
43 | {
44 | "filename" : "Utilitarian.imageset",
45 | "idiom" : "watch",
46 | "role" : "utilitarian"
47 | }
48 | ],
49 | "info" : {
50 | "author" : "xcode",
51 | "version" : 1
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Step 4/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step4;
2 |
3 | using Services;
4 |
5 | public partial class MainPage : ContentPage
6 | {
7 | int count = 0;
8 | public int Count
9 | {
10 | get { return count; }
11 | set
12 | {
13 | if (count != value)
14 | {
15 | count = value;
16 | OnPropertyChanged();
17 | }
18 | }
19 | }
20 |
21 | WatchService watch;
22 |
23 | public MainPage()
24 | {
25 | InitializeComponent();
26 |
27 | BindingContext = this;
28 |
29 | watch = new WatchService();
30 | }
31 |
32 | protected override void OnAppearing()
33 | {
34 | base.OnAppearing();
35 |
36 | watch.Activate();
37 | watch.ValueUpdated += Watch_ValueUpdated;
38 | }
39 |
40 | protected override void OnDisappearing()
41 | {
42 | base.OnDisappearing();
43 |
44 | watch.Deactivate();
45 | watch.ValueUpdated -= Watch_ValueUpdated;
46 | }
47 |
48 | void Dec_Clicked(Object sender, EventArgs e)
49 | {
50 | --Count;
51 | SyncToWatch();
52 | }
53 |
54 | void Inc_Clicked(Object sender, EventArgs e)
55 | {
56 | ++Count;
57 | SyncToWatch();
58 | }
59 |
60 | void Watch_ValueUpdated(int value)
61 | {
62 | Count = value;
63 | }
64 |
65 | void SyncToWatch()
66 | {
67 | watch.SendValue(count);
68 | }
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/Step 2/Step2.WearOSApp/Resources/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
15 |
16 |
22 |
23 |
30 |
31 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Step 3/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Step3;
2 |
3 | using Services;
4 |
5 | public partial class MainPage : ContentPage
6 | {
7 | int count = 0;
8 | public int Count
9 | {
10 | get { return count; }
11 | set
12 | {
13 | if (count != value)
14 | {
15 | count = value;
16 | OnPropertyChanged();
17 | }
18 | }
19 | }
20 |
21 | WatchService watch;
22 |
23 | public MainPage()
24 | {
25 | InitializeComponent();
26 |
27 | BindingContext = this;
28 |
29 | watch = new WatchService();
30 | }
31 |
32 | protected override void OnAppearing()
33 | {
34 | base.OnAppearing();
35 |
36 | watch.Activate();
37 | watch.ValueUpdated += Watch_ValueUpdated;
38 | }
39 |
40 | protected override void OnDisappearing()
41 | {
42 | base.OnDisappearing();
43 |
44 | watch.Deactivate();
45 | watch.ValueUpdated -= Watch_ValueUpdated;
46 | }
47 |
48 | void Dec_Clicked(Object sender, EventArgs e)
49 | {
50 | --Count;
51 | SyncToWatch();
52 | }
53 |
54 | void Inc_Clicked(Object sender, EventArgs e)
55 | {
56 | ++Count;
57 | SyncToWatch();
58 | }
59 |
60 | void Watch_ValueUpdated(int value)
61 | {
62 | Count = value;
63 | }
64 |
65 | void SyncToWatch()
66 | {
67 | watch.SendValue(count);
68 | }
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/Step 3/Step3.WearOSApp/Resources/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
15 |
16 |
22 |
23 |
30 |
31 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/wearapp/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
15 |
18 |
19 |
23 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1Watch/Step1Watch.WearOSApp/Resources/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
15 |
16 |
22 |
23 |
30 |
31 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Step 1/iOS/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Step1")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Step1")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("50c7b8c9-e664-45af-b88e-0c9b8b9c1be1")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Step 2/Step2.iOS/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Step2.iOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Step2.iOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Step 2/Step2.WatchOSApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Step2.WatchOSApp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Step2.WatchOSApp")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("E41C713E-C773-41FC-90DE-50D02C01F8B3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Step 3/Step3.WatchOSApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Step3.WatchOSApp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Step3.WatchOSApp")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("E41C713E-C773-41FC-90DE-50D02C01F8B3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Step 1/iOS/Step1Watch/Step1Watch.WatchOSApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Step1Watch.WatchOSApp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Step1Watch.WatchOSApp")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("E41C713E-C773-41FC-90DE-50D02C01F8B3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
11 |
12 |
17 |
18 |
23 |
24 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Step45/Step45KMM/iosApp/iosApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UIApplicationSceneManifest
24 |
25 | UIApplicationSupportsMultipleScenes
26 |
27 |
28 | UILaunchScreen
29 |
30 | UIRequiredDeviceCapabilities
31 |
32 | armv7
33 |
34 | UISupportedInterfaceOrientations
35 |
36 | UIInterfaceOrientationPortrait
37 | UIInterfaceOrientationLandscapeLeft
38 | UIInterfaceOrientationLandscapeRight
39 |
40 | UISupportedInterfaceOrientations~ipad
41 |
42 | UIInterfaceOrientationPortrait
43 | UIInterfaceOrientationPortraitUpsideDown
44 | UIInterfaceOrientationLandscapeLeft
45 | UIInterfaceOrientationLandscapeRight
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Step 1/Android/Step1.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.810.22
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Step1", "Step1.csproj", "{8F287454-6A46-4B0F-9E0F-0D3E517511E1}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Step1Watch.WearOSApp", "Step1Watch\Step1Watch.WearOSApp\Step1Watch.WearOSApp.csproj", "{9E56EFBF-2EFE-4345-94DB-31DA9BA26FBD}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Release|Any CPU = Release|Any CPU
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {8F287454-6A46-4B0F-9E0F-0D3E517511E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {8F287454-6A46-4B0F-9E0F-0D3E517511E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {8F287454-6A46-4B0F-9E0F-0D3E517511E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
19 | {8F287454-6A46-4B0F-9E0F-0D3E517511E1}.Release|Any CPU.Build.0 = Release|Any CPU
20 | {9E56EFBF-2EFE-4345-94DB-31DA9BA26FBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {9E56EFBF-2EFE-4345-94DB-31DA9BA26FBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {9E56EFBF-2EFE-4345-94DB-31DA9BA26FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {9E56EFBF-2EFE-4345-94DB-31DA9BA26FBD}.Release|Any CPU.Build.0 = Release|Any CPU
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {C2240D58-39EE-4AA6-811D-F07D4C98834B}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/Step 1/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Step 3/Resources/appiconfg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Step 4/Resources/appiconfg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/AppIcon/appiconfg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Resources/Splash/splash.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Step45/Step45MAUI/Platforms/Windows/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 | $placeholder$
12 | User Name
13 | $placeholder$.png
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------