End of Step 2: Added Watch App

xcode15-and-vision
Alan Francis 2 years ago
parent a1f65af025
commit 7c79e0ea03
  1. 183
      JustOneThing.xcodeproj/project.pbxproj
  2. 5
      JustOneThing.xcodeproj/xcuserdata/acf.xcuserdatad/xcschemes/xcschememanagement.plist
  3. 11
      JustOneThingWatch Watch App/Assets.xcassets/AccentColor.colorset/Contents.json
  4. 13
      JustOneThingWatch Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json
  5. 6
      JustOneThingWatch Watch App/Assets.xcassets/Contents.json
  6. 26
      JustOneThingWatch Watch App/ContentView.swift
  7. 17
      JustOneThingWatch Watch App/JustOneThingWatchApp.swift
  8. 6
      JustOneThingWatch Watch App/Preview Content/Preview Assets.xcassets/Contents.json

@ -7,13 +7,47 @@
objects = {
/* Begin PBXBuildFile section */
5431ED702A2A77C900515680 /* JustOneThingWatchApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5431ED6F2A2A77C900515680 /* JustOneThingWatchApp.swift */; };
5431ED722A2A77C900515680 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5431ED712A2A77C900515680 /* ContentView.swift */; };
5431ED742A2A77CA00515680 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5431ED732A2A77CA00515680 /* Assets.xcassets */; };
5431ED772A2A77CA00515680 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5431ED762A2A77CA00515680 /* Preview Assets.xcassets */; };
5431ED7A2A2A77CA00515680 /* JustOneThingWatch Watch App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 5431ED6D2A2A77C900515680 /* JustOneThingWatch Watch App.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
5483903B2A2A773900BF5624 /* JustOneThingApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5483903A2A2A773900BF5624 /* JustOneThingApp.swift */; };
5483903D2A2A773900BF5624 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5483903C2A2A773900BF5624 /* ContentView.swift */; };
5483903F2A2A773A00BF5624 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5483903E2A2A773A00BF5624 /* Assets.xcassets */; };
548390432A2A773A00BF5624 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 548390422A2A773A00BF5624 /* Preview Assets.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
5431ED782A2A77CA00515680 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 5483902F2A2A773900BF5624 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5431ED6C2A2A77C900515680;
remoteInfo = "JustOneThingWatch Watch App";
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
5431ED7B2A2A77CA00515680 /* Embed Watch Content */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "$(CONTENTS_FOLDER_PATH)/Watch";
dstSubfolderSpec = 16;
files = (
5431ED7A2A2A77CA00515680 /* JustOneThingWatch Watch App.app in Embed Watch Content */,
);
name = "Embed Watch Content";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
5431ED6D2A2A77C900515680 /* JustOneThingWatch Watch App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JustOneThingWatch Watch App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5431ED6F2A2A77C900515680 /* JustOneThingWatchApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JustOneThingWatchApp.swift; sourceTree = "<group>"; };
5431ED712A2A77C900515680 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
5431ED732A2A77CA00515680 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5431ED762A2A77CA00515680 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
548390372A2A773900BF5624 /* JustOneThing.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JustOneThing.app; sourceTree = BUILT_PRODUCTS_DIR; };
5483903A2A2A773900BF5624 /* JustOneThingApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JustOneThingApp.swift; sourceTree = "<group>"; };
5483903C2A2A773900BF5624 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
@ -23,6 +57,13 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
5431ED6A2A2A77C900515680 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
548390342A2A773900BF5624 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -33,10 +74,30 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
5431ED6E2A2A77C900515680 /* JustOneThingWatch Watch App */ = {
isa = PBXGroup;
children = (
5431ED6F2A2A77C900515680 /* JustOneThingWatchApp.swift */,
5431ED712A2A77C900515680 /* ContentView.swift */,
5431ED732A2A77CA00515680 /* Assets.xcassets */,
5431ED752A2A77CA00515680 /* Preview Content */,
);
path = "JustOneThingWatch Watch App";
sourceTree = "<group>";
};
5431ED752A2A77CA00515680 /* Preview Content */ = {
isa = PBXGroup;
children = (
5431ED762A2A77CA00515680 /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
5483902E2A2A773900BF5624 = {
isa = PBXGroup;
children = (
548390392A2A773900BF5624 /* JustOneThing */,
5431ED6E2A2A77C900515680 /* JustOneThingWatch Watch App */,
548390382A2A773900BF5624 /* Products */,
);
sourceTree = "<group>";
@ -45,6 +106,7 @@
isa = PBXGroup;
children = (
548390372A2A773900BF5624 /* JustOneThing.app */,
5431ED6D2A2A77C900515680 /* JustOneThingWatch Watch App.app */,
);
name = Products;
sourceTree = "<group>";
@ -72,6 +134,23 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
5431ED6C2A2A77C900515680 /* JustOneThingWatch Watch App */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5431ED7E2A2A77CA00515680 /* Build configuration list for PBXNativeTarget "JustOneThingWatch Watch App" */;
buildPhases = (
5431ED692A2A77C900515680 /* Sources */,
5431ED6A2A2A77C900515680 /* Frameworks */,
5431ED6B2A2A77C900515680 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "JustOneThingWatch Watch App";
productName = "JustOneThingWatch Watch App";
productReference = 5431ED6D2A2A77C900515680 /* JustOneThingWatch Watch App.app */;
productType = "com.apple.product-type.application";
};
548390362A2A773900BF5624 /* JustOneThing */ = {
isa = PBXNativeTarget;
buildConfigurationList = 548390462A2A773A00BF5624 /* Build configuration list for PBXNativeTarget "JustOneThing" */;
@ -79,10 +158,12 @@
548390332A2A773900BF5624 /* Sources */,
548390342A2A773900BF5624 /* Frameworks */,
548390352A2A773900BF5624 /* Resources */,
5431ED7B2A2A77CA00515680 /* Embed Watch Content */,
);
buildRules = (
);
dependencies = (
5431ED792A2A77CA00515680 /* PBXTargetDependency */,
);
name = JustOneThing;
productName = JustOneThing;
@ -99,6 +180,9 @@
LastSwiftUpdateCheck = 1430;
LastUpgradeCheck = 1430;
TargetAttributes = {
5431ED6C2A2A77C900515680 = {
CreatedOnToolsVersion = 14.3.1;
};
548390362A2A773900BF5624 = {
CreatedOnToolsVersion = 14.3.1;
};
@ -118,11 +202,21 @@
projectRoot = "";
targets = (
548390362A2A773900BF5624 /* JustOneThing */,
5431ED6C2A2A77C900515680 /* JustOneThingWatch Watch App */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
5431ED6B2A2A77C900515680 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5431ED772A2A77CA00515680 /* Preview Assets.xcassets in Resources */,
5431ED742A2A77CA00515680 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
548390352A2A773900BF5624 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -135,6 +229,15 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
5431ED692A2A77C900515680 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5431ED722A2A77C900515680 /* ContentView.swift in Sources */,
5431ED702A2A77C900515680 /* JustOneThingWatchApp.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
548390332A2A773900BF5624 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -146,7 +249,76 @@
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
5431ED792A2A77CA00515680 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5431ED6C2A2A77C900515680 /* JustOneThingWatch Watch App */;
targetProxy = 5431ED782A2A77CA00515680 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
5431ED7C2A2A77CA00515680 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"JustOneThingWatch Watch App/Preview Content\"";
DEVELOPMENT_TEAM = 37UC5MW6PT;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = JustOneThingWatch;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.alancfrancis.apps.JustOneThing;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.alancfrancis.apps.JustOneThing.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 9.4;
};
name = Debug;
};
5431ED7D2A2A77CA00515680 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"JustOneThingWatch Watch App/Preview Content\"";
DEVELOPMENT_TEAM = 37UC5MW6PT;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = JustOneThingWatch;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.alancfrancis.apps.JustOneThing;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.alancfrancis.apps.JustOneThing.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 4;
VALIDATE_PRODUCT = YES;
WATCHOS_DEPLOYMENT_TARGET = 9.4;
};
name = Release;
};
548390442A2A773A00BF5624 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -259,6 +431,7 @@
548390472A2A773A00BF5624 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = JustOneThing/JustOneThing.entitlements;
@ -297,6 +470,7 @@
548390482A2A773A00BF5624 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = JustOneThing/JustOneThing.entitlements;
@ -335,6 +509,15 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
5431ED7E2A2A77CA00515680 /* Build configuration list for PBXNativeTarget "JustOneThingWatch Watch App" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5431ED7C2A2A77CA00515680 /* Debug */,
5431ED7D2A2A77CA00515680 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
548390322A2A773900BF5624 /* Build configuration list for PBXProject "JustOneThing" */ = {
isa = XCConfigurationList;
buildConfigurations = (

@ -9,6 +9,11 @@
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>JustOneThingWatch Watch App.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
</dict>
</plist>

@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "universal",
"platform" : "watchos",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

@ -0,0 +1,26 @@
//
// ContentView.swift
// JustOneThingWatch Watch App
//
// Created by Alan Francis on 02/06/2023.
//
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(.accentColor)
Text("Hello, world!")
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

@ -0,0 +1,17 @@
//
// JustOneThingWatchApp.swift
// JustOneThingWatch Watch App
//
// Created by Alan Francis on 02/06/2023.
//
import SwiftUI
@main
struct JustOneThingWatch_Watch_AppApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading…
Cancel
Save