Skip to content

Commit 4d34c48

Browse files
committed
Support Playgrounds 4
1 parent f03b50e commit 4d34c48

30 files changed

+156
-75
lines changed

TodoList.swiftpm/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,116 @@
11
{
22
"images" : [
33
{
4-
"size" : "20x20",
5-
"idiom" : "iphone",
64
"filename" : "iPhone-Notification-20x20@2x.png",
7-
"scale" : "2x"
5+
"idiom" : "iphone",
6+
"scale" : "2x",
7+
"size" : "20x20"
88
},
99
{
10-
"size" : "20x20",
11-
"idiom" : "iphone",
1210
"filename" : "iPhone-Notification-20x20@3x.png",
13-
"scale" : "3x"
11+
"idiom" : "iphone",
12+
"scale" : "3x",
13+
"size" : "20x20"
1414
},
1515
{
16-
"size" : "29x29",
17-
"idiom" : "iphone",
1816
"filename" : "iPhone-Settings-29x29@2x.png",
19-
"scale" : "2x"
17+
"idiom" : "iphone",
18+
"scale" : "2x",
19+
"size" : "29x29"
2020
},
2121
{
22-
"size" : "29x29",
23-
"idiom" : "iphone",
2422
"filename" : "iPhone-Settings-29x29@3x.png",
25-
"scale" : "3x"
23+
"idiom" : "iphone",
24+
"scale" : "3x",
25+
"size" : "29x29"
2626
},
2727
{
28-
"size" : "40x40",
29-
"idiom" : "iphone",
3028
"filename" : "iPhone-Spotlight-40x40@2x.png",
31-
"scale" : "2x"
29+
"idiom" : "iphone",
30+
"scale" : "2x",
31+
"size" : "40x40"
3232
},
3333
{
34-
"size" : "40x40",
35-
"idiom" : "iphone",
3634
"filename" : "iPhone-Spotlight-40x40@3x.png",
37-
"scale" : "3x"
35+
"idiom" : "iphone",
36+
"scale" : "3x",
37+
"size" : "40x40"
3838
},
3939
{
40-
"size" : "60x60",
41-
"idiom" : "iphone",
4240
"filename" : "iPhone-App-60x60@2x.png",
43-
"scale" : "2x"
41+
"idiom" : "iphone",
42+
"scale" : "2x",
43+
"size" : "60x60"
4444
},
4545
{
46-
"size" : "60x60",
47-
"idiom" : "iphone",
4846
"filename" : "iPhone-App-60x60@3x.png",
49-
"scale" : "3x"
47+
"idiom" : "iphone",
48+
"scale" : "3x",
49+
"size" : "60x60"
5050
},
5151
{
52-
"size" : "20x20",
53-
"idiom" : "ipad",
5452
"filename" : "iPad-Notification-20x20.png",
55-
"scale" : "1x"
53+
"idiom" : "ipad",
54+
"scale" : "1x",
55+
"size" : "20x20"
5656
},
5757
{
58-
"size" : "20x20",
59-
"idiom" : "ipad",
6058
"filename" : "iPad-Notification-20x20@2x.png",
61-
"scale" : "2x"
59+
"idiom" : "ipad",
60+
"scale" : "2x",
61+
"size" : "20x20"
6262
},
6363
{
64-
"size" : "29x29",
65-
"idiom" : "ipad",
6664
"filename" : "iPad-Settings-29x29.png",
67-
"scale" : "1x"
65+
"idiom" : "ipad",
66+
"scale" : "1x",
67+
"size" : "29x29"
6868
},
6969
{
70-
"size" : "29x29",
71-
"idiom" : "ipad",
7270
"filename" : "iPad-Settings-29x29@2x.png",
73-
"scale" : "2x"
71+
"idiom" : "ipad",
72+
"scale" : "2x",
73+
"size" : "29x29"
7474
},
7575
{
76-
"size" : "40x40",
77-
"idiom" : "ipad",
7876
"filename" : "iPad-Spotlight-40x40.png",
79-
"scale" : "1x"
77+
"idiom" : "ipad",
78+
"scale" : "1x",
79+
"size" : "40x40"
8080
},
8181
{
82-
"size" : "40x40",
83-
"idiom" : "ipad",
8482
"filename" : "iPad-Spotlight-40x40@2x.png",
85-
"scale" : "2x"
83+
"idiom" : "ipad",
84+
"scale" : "2x",
85+
"size" : "40x40"
8686
},
8787
{
88-
"size" : "76x76",
89-
"idiom" : "ipad",
9088
"filename" : "iPad-App-76x76.png",
91-
"scale" : "1x"
89+
"idiom" : "ipad",
90+
"scale" : "1x",
91+
"size" : "76x76"
9292
},
9393
{
94-
"size" : "76x76",
95-
"idiom" : "ipad",
9694
"filename" : "iPad-App-76x76@2x.png",
97-
"scale" : "2x"
95+
"idiom" : "ipad",
96+
"scale" : "2x",
97+
"size" : "76x76"
9898
},
9999
{
100-
"size" : "83.5x83.5",
101-
"idiom" : "ipad",
102100
"filename" : "iPad-Pro-App-83.5x83.5@2x.png",
103-
"scale" : "2x"
101+
"idiom" : "ipad",
102+
"scale" : "2x",
103+
"size" : "83.5x83.5"
104104
},
105105
{
106-
"size" : "1024x1024",
107-
"idiom" : "ios-marketing",
108106
"filename" : "iOS-Marketing.png",
109-
"scale" : "1x"
107+
"idiom" : "ios-marketing",
108+
"scale" : "1x",
109+
"size" : "1024x1024"
110110
}
111111
],
112112
"info" : {
113-
"version" : 1,
114-
"author" : "xcode"
113+
"author" : "xcode",
114+
"version" : 1
115115
}
116-
}
116+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"author" : "xcode",
4+
"version" : 1
5+
}
6+
}
File renamed without changes.

TodoList.swiftpm/MyApp.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import SwiftUI
2+
3+
@main
4+
struct MyApp: App {
5+
var body: some Scene {
6+
WindowGroup {
7+
ContentView()
8+
.environmentObject(TodoStore())
9+
}
10+
}
11+
}

TodoList.swiftpm/Package.swift

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// swift-tools-version: 5.5
2+
3+
// WARNING:
4+
// This file is automatically generated.
5+
// Do not edit it by hand because the contents will be replaced.
6+
7+
import PackageDescription
8+
import AppleProductTypes
9+
10+
let package = Package(
11+
name: "TodoList",
12+
platforms: [
13+
.iOS("15.2")
14+
],
15+
products: [
16+
.iOSApplication(
17+
name: "TodoList",
18+
targets: ["AppModule"],
19+
bundleIdentifier: "dev.uwapp.TodoList",
20+
displayVersion: "1.0",
21+
bundleVersion: "1",
22+
iconAssetName: "AppIcon",
23+
accentColorAssetName: "AccentColor",
24+
supportedDeviceFamilies: [
25+
.pad,
26+
.phone
27+
],
28+
supportedInterfaceOrientations: [
29+
.portrait,
30+
.landscapeRight,
31+
.landscapeLeft,
32+
.portraitUpsideDown(.when(deviceFamilies: [.pad]))
33+
]
34+
)
35+
],
36+
targets: [
37+
.executableTarget(
38+
name: "AppModule",
39+
path: "."
40+
)
41+
]
42+
)

TodoList/TodoItem.swift renamed to TodoList.swiftpm/TodoItem.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import Foundation
1010

1111
struct TodoItem: Equatable, Identifiable, Codable {
12-
let id = UUID()
12+
private(set) var id = UUID()
1313
var title: String
1414
var isCompleted: Bool = false
1515
}
File renamed without changes.

TodoList.xcodeproj/project.pbxproj

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
D29964DC27CC6C9500248112 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D29964DB27CC6C9500248112 /* Assets.xcassets */; };
1011
D2AD8C92239B364E0078D3A9 /* TodoItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2AD8C91239B364E0078D3A9 /* TodoItem.swift */; };
1112
D2AD8C94239B3A5C0078D3A9 /* TodoStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2AD8C93239B3A5C0078D3A9 /* TodoStore.swift */; };
1213
D2BCEA24239A42A4008EA0C0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2BCEA23239A42A4008EA0C0 /* AppDelegate.swift */; };
1314
D2BCEA26239A42A4008EA0C0 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2BCEA25239A42A4008EA0C0 /* SceneDelegate.swift */; };
1415
D2BCEA28239A42A4008EA0C0 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2BCEA27239A42A4008EA0C0 /* ContentView.swift */; };
15-
D2BCEA2A239A42A5008EA0C0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2BCEA29239A42A5008EA0C0 /* Assets.xcassets */; };
1616
D2BCEA2D239A42A5008EA0C0 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2BCEA2C239A42A5008EA0C0 /* Preview Assets.xcassets */; };
1717
D2BCEA30239A42A5008EA0C0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2BCEA2E239A42A5008EA0C0 /* LaunchScreen.storyboard */; };
1818
/* End PBXBuildFile section */
1919

2020
/* Begin PBXFileReference section */
2121
D2651A5D239B589A002B3E10 /* TodoList.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = TodoList.entitlements; sourceTree = "<group>"; };
22+
D29964DB27CC6C9500248112 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
2223
D2AD8C91239B364E0078D3A9 /* TodoItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoItem.swift; sourceTree = "<group>"; };
2324
D2AD8C93239B3A5C0078D3A9 /* TodoStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoStore.swift; sourceTree = "<group>"; };
2425
D2BCEA20239A42A4008EA0C0 /* Todo List.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Todo List.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2526
D2BCEA23239A42A4008EA0C0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
2627
D2BCEA25239A42A4008EA0C0 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
2728
D2BCEA27239A42A4008EA0C0 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
28-
D2BCEA29239A42A5008EA0C0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
2929
D2BCEA2C239A42A5008EA0C0 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
3030
D2BCEA2F239A42A5008EA0C0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
3131
D2BCEA31239A42A5008EA0C0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -42,9 +42,21 @@
4242
/* End PBXFrameworksBuildPhase section */
4343

4444
/* Begin PBXGroup section */
45+
D29964DA27CC6C6300248112 /* TodoList.swiftpm */ = {
46+
isa = PBXGroup;
47+
children = (
48+
D2BCEA27239A42A4008EA0C0 /* ContentView.swift */,
49+
D2AD8C93239B3A5C0078D3A9 /* TodoStore.swift */,
50+
D2AD8C91239B364E0078D3A9 /* TodoItem.swift */,
51+
D29964DB27CC6C9500248112 /* Assets.xcassets */,
52+
);
53+
path = TodoList.swiftpm;
54+
sourceTree = "<group>";
55+
};
4556
D2BCEA17239A42A4008EA0C0 = {
4657
isa = PBXGroup;
4758
children = (
59+
D29964DA27CC6C6300248112 /* TodoList.swiftpm */,
4860
D2BCEA22239A42A4008EA0C0 /* TodoList */,
4961
D2BCEA21239A42A4008EA0C0 /* Products */,
5062
);
@@ -64,10 +76,6 @@
6476
D2651A5D239B589A002B3E10 /* TodoList.entitlements */,
6577
D2BCEA23239A42A4008EA0C0 /* AppDelegate.swift */,
6678
D2BCEA25239A42A4008EA0C0 /* SceneDelegate.swift */,
67-
D2BCEA27239A42A4008EA0C0 /* ContentView.swift */,
68-
D2AD8C93239B3A5C0078D3A9 /* TodoStore.swift */,
69-
D2AD8C91239B364E0078D3A9 /* TodoItem.swift */,
70-
D2BCEA29239A42A5008EA0C0 /* Assets.xcassets */,
7179
D2BCEA2E239A42A5008EA0C0 /* LaunchScreen.storyboard */,
7280
D2BCEA31239A42A5008EA0C0 /* Info.plist */,
7381
D2BCEA2B239A42A5008EA0C0 /* Preview Content */,
@@ -143,7 +151,7 @@
143151
files = (
144152
D2BCEA30239A42A5008EA0C0 /* LaunchScreen.storyboard in Resources */,
145153
D2BCEA2D239A42A5008EA0C0 /* Preview Assets.xcassets in Resources */,
146-
D2BCEA2A239A42A5008EA0C0 /* Assets.xcassets in Resources */,
154+
D29964DC27CC6C9500248112 /* Assets.xcassets in Resources */,
147155
);
148156
runOnlyForDeploymentPostprocessing = 0;
149157
};
@@ -298,14 +306,14 @@
298306
CODE_SIGN_STYLE = Automatic;
299307
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
300308
DEVELOPMENT_ASSET_PATHS = "\"TodoList/Preview Content\"";
301-
DEVELOPMENT_TEAM = KZ7D8X3PRK;
309+
DEVELOPMENT_TEAM = "";
302310
ENABLE_PREVIEWS = YES;
303311
INFOPLIST_FILE = TodoList/Info.plist;
304312
LD_RUNPATH_SEARCH_PATHS = (
305313
"$(inherited)",
306314
"@executable_path/Frameworks",
307315
);
308-
PRODUCT_BUNDLE_IDENTIFIER = io.github.UWAppDev.TodoList;
316+
PRODUCT_BUNDLE_IDENTIFIER = dev.uwapp.TodoList;
309317
PRODUCT_NAME = "Todo List";
310318
SUPPORTS_MACCATALYST = YES;
311319
SWIFT_VERSION = 5.0;
@@ -321,14 +329,14 @@
321329
CODE_SIGN_STYLE = Automatic;
322330
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
323331
DEVELOPMENT_ASSET_PATHS = "\"TodoList/Preview Content\"";
324-
DEVELOPMENT_TEAM = KZ7D8X3PRK;
332+
DEVELOPMENT_TEAM = "";
325333
ENABLE_PREVIEWS = YES;
326334
INFOPLIST_FILE = TodoList/Info.plist;
327335
LD_RUNPATH_SEARCH_PATHS = (
328336
"$(inherited)",
329337
"@executable_path/Frameworks",
330338
);
331-
PRODUCT_BUNDLE_IDENTIFIER = io.github.UWAppDev.TodoList;
339+
PRODUCT_BUNDLE_IDENTIFIER = dev.uwapp.TodoList;
332340
PRODUCT_NAME = "Todo List";
333341
SUPPORTS_MACCATALYST = YES;
334342
SWIFT_VERSION = 5.0;

TodoList/Assets.xcassets/Contents.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

TodoList/Info.plist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
<string>1.0</string>
1919
<key>CFBundleVersion</key>
2020
<string>1</string>
21+
<key>LSApplicationCategoryType</key>
22+
<string>public.app-category.productivity</string>
2123
<key>LSRequiresIPhoneOS</key>
2224
<true/>
2325
<key>UIApplicationSceneManifest</key>

0 commit comments

Comments
 (0)