Skip to content

Commit 6d9e829

Browse files
authored
Remove thread hop and update Showcase to latest standards (#479)
1 parent 712db7f commit 6d9e829

File tree

18 files changed

+621
-544
lines changed

18 files changed

+621
-544
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ jobs:
159159
command: xcodebuild -downloadPlatform ${{ matrix.platform[0] }}
160160

161161
- if: env.has_runtime == 'false'
162-
name: "[Debug] List Available Installable Runtimes"
162+
name: "List Downloadable Runtimes"
163163
run: xcodes runtimes --include-betas
164164

165165
- if: env.has_runtime == 'false'
@@ -170,7 +170,7 @@ jobs:
170170
max_attempts: 3
171171
command: sudo xcodes runtimes install '${{ matrix.runtime }}'
172172

173-
- name: "[Debug] List Available Runtimes, Simulators, and Destinations"
173+
- name: "List Available Runtimes, Simulators, and Destinations"
174174
run: |
175175
xcrun simctl list
176176
xcodebuild -scheme "SwiftUIIntrospect" -showdestinations

Examples/Showcase/Showcase.xcodeproj/project.pbxproj

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
D53071F729983CEF00F1936C /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53071F629983CEF00F1936C /* App.swift */; };
1111
D53071F929983CEF00F1936C /* AppView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53071F829983CEF00F1936C /* AppView.swift */; };
1212
D5B829752999738200920EBD /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B829742999738200920EBD /* Helpers.swift */; };
13+
D5B864E82E72BF0F002F5243 /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864E72E72BF0F002F5243 /* ScrollView.swift */; };
14+
D5B864EA2E72CE71002F5243 /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864E92E72CE71002F5243 /* List.swift */; };
15+
D5B864EC2E72D9E1002F5243 /* Navigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864EB2E72D9E1002F5243 /* Navigation.swift */; };
16+
D5B864EE2E72DB42002F5243 /* Presentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864ED2E72DB42002F5243 /* Presentation.swift */; };
17+
D5B864F02E72DC75002F5243 /* Controls.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864EF2E72DC75002F5243 /* Controls.swift */; };
18+
D5B864F22E72DCA7002F5243 /* UIViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B864F12E72DCA7002F5243 /* UIViewRepresentable.swift */; };
1319
D5E3180329C132B6005847DC /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5E3180229C132B6005847DC /* SwiftUIIntrospect */; };
1420
/* End PBXBuildFile section */
1521

@@ -19,6 +25,12 @@
1925
D53071F829983CEF00F1936C /* AppView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppView.swift; sourceTree = "<group>"; };
2026
D530720429983D9300F1936C /* Showcase.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Showcase.entitlements; sourceTree = "<group>"; };
2127
D5B829742999738200920EBD /* Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helpers.swift; sourceTree = "<group>"; };
28+
D5B864E72E72BF0F002F5243 /* ScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = "<group>"; };
29+
D5B864E92E72CE71002F5243 /* List.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = List.swift; sourceTree = "<group>"; };
30+
D5B864EB2E72D9E1002F5243 /* Navigation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigation.swift; sourceTree = "<group>"; };
31+
D5B864ED2E72DB42002F5243 /* Presentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Presentation.swift; sourceTree = "<group>"; };
32+
D5B864EF2E72DC75002F5243 /* Controls.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Controls.swift; sourceTree = "<group>"; };
33+
D5B864F12E72DCA7002F5243 /* UIViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIViewRepresentable.swift; sourceTree = "<group>"; };
2234
/* End PBXFileReference section */
2335

2436
/* Begin PBXFrameworksBuildPhase section */
@@ -56,6 +68,12 @@
5668
D530720429983D9300F1936C /* Showcase.entitlements */,
5769
D53071F629983CEF00F1936C /* App.swift */,
5870
D53071F829983CEF00F1936C /* AppView.swift */,
71+
D5B864E92E72CE71002F5243 /* List.swift */,
72+
D5B864E72E72BF0F002F5243 /* ScrollView.swift */,
73+
D5B864EB2E72D9E1002F5243 /* Navigation.swift */,
74+
D5B864ED2E72DB42002F5243 /* Presentation.swift */,
75+
D5B864EF2E72DC75002F5243 /* Controls.swift */,
76+
D5B864F12E72DCA7002F5243 /* UIViewRepresentable.swift */,
5977
D5B829742999738200920EBD /* Helpers.swift */,
6078
);
6179
path = Showcase;
@@ -99,7 +117,7 @@
99117
attributes = {
100118
BuildIndependentTargetsInParallel = 1;
101119
LastSwiftUpdateCheck = 1420;
102-
LastUpgradeCheck = 1420;
120+
LastUpgradeCheck = 2600;
103121
TargetAttributes = {
104122
D53071F229983CEF00F1936C = {
105123
CreatedOnToolsVersion = 14.2;
@@ -140,7 +158,13 @@
140158
buildActionMask = 2147483647;
141159
files = (
142160
D53071F929983CEF00F1936C /* AppView.swift in Sources */,
161+
D5B864EE2E72DB42002F5243 /* Presentation.swift in Sources */,
162+
D5B864F22E72DCA7002F5243 /* UIViewRepresentable.swift in Sources */,
163+
D5B864E82E72BF0F002F5243 /* ScrollView.swift in Sources */,
143164
D5B829752999738200920EBD /* Helpers.swift in Sources */,
165+
D5B864EC2E72D9E1002F5243 /* Navigation.swift in Sources */,
166+
D5B864F02E72DC75002F5243 /* Controls.swift in Sources */,
167+
D5B864EA2E72CE71002F5243 /* List.swift in Sources */,
144168
D53071F729983CEF00F1936C /* App.swift in Sources */,
145169
);
146170
runOnlyForDeploymentPostprocessing = 0;
@@ -153,6 +177,7 @@
153177
buildSettings = {
154178
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
155179
ALWAYS_SEARCH_USER_PATHS = NO;
180+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
156181
CLANG_ANALYZER_NONNULL = YES;
157182
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
158183
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
@@ -185,6 +210,7 @@
185210
DEBUG_INFORMATION_FORMAT = dwarf;
186211
ENABLE_STRICT_OBJC_MSGSEND = YES;
187212
ENABLE_TESTABILITY = YES;
213+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
188214
GCC_C_LANGUAGE_STANDARD = gnu11;
189215
GCC_DYNAMIC_NO_PIC = NO;
190216
GCC_NO_COMMON_BLOCKS = YES;
@@ -199,19 +225,20 @@
199225
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
200226
GCC_WARN_UNUSED_FUNCTION = YES;
201227
GCC_WARN_UNUSED_VARIABLE = YES;
202-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
203-
MACOSX_DEPLOYMENT_TARGET = 11.0;
228+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
229+
MACOSX_DEPLOYMENT_TARGET = 12.0;
204230
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
205231
MTL_FAST_MATH = YES;
206232
ONLY_ACTIVE_ARCH = YES;
207233
SDKROOT = iphoneos;
234+
STRING_CATALOG_GENERATE_SYMBOLS = YES;
208235
SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos";
209236
SUPPORTS_MACCATALYST = YES;
210237
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
211238
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
212239
SWIFT_STRICT_CONCURRENCY = complete;
213240
SWIFT_VERSION = 6.0;
214-
TVOS_DEPLOYMENT_TARGET = 13.0;
241+
TVOS_DEPLOYMENT_TARGET = 15.0;
215242
XROS_DEPLOYMENT_TARGET = 1.0;
216243
};
217244
name = Debug;
@@ -221,6 +248,7 @@
221248
buildSettings = {
222249
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
223250
ALWAYS_SEARCH_USER_PATHS = NO;
251+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
224252
CLANG_ANALYZER_NONNULL = YES;
225253
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
226254
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
@@ -253,6 +281,7 @@
253281
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
254282
ENABLE_NS_ASSERTIONS = NO;
255283
ENABLE_STRICT_OBJC_MSGSEND = YES;
284+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
256285
GCC_C_LANGUAGE_STANDARD = gnu11;
257286
GCC_NO_COMMON_BLOCKS = YES;
258287
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -261,18 +290,19 @@
261290
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
262291
GCC_WARN_UNUSED_FUNCTION = YES;
263292
GCC_WARN_UNUSED_VARIABLE = YES;
264-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
265-
MACOSX_DEPLOYMENT_TARGET = 11.0;
293+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
294+
MACOSX_DEPLOYMENT_TARGET = 12.0;
266295
MTL_ENABLE_DEBUG_INFO = NO;
267296
MTL_FAST_MATH = YES;
268297
SDKROOT = iphoneos;
298+
STRING_CATALOG_GENERATE_SYMBOLS = YES;
269299
SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos";
270300
SUPPORTS_MACCATALYST = YES;
271301
SWIFT_COMPILATION_MODE = wholemodule;
272302
SWIFT_OPTIMIZATION_LEVEL = "-O";
273303
SWIFT_STRICT_CONCURRENCY = complete;
274304
SWIFT_VERSION = 6.0;
275-
TVOS_DEPLOYMENT_TARGET = 13.0;
305+
TVOS_DEPLOYMENT_TARGET = 15.0;
276306
VALIDATE_PRODUCT = YES;
277307
XROS_DEPLOYMENT_TARGET = 1.0;
278308
};
@@ -286,6 +316,8 @@
286316
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
287317
CODE_SIGN_STYLE = Automatic;
288318
CURRENT_PROJECT_VERSION = 1;
319+
ENABLE_APP_SANDBOX = YES;
320+
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
289321
ENABLE_PREVIEWS = YES;
290322
GENERATE_INFOPLIST_FILE = YES;
291323
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
@@ -318,6 +350,8 @@
318350
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
319351
CODE_SIGN_STYLE = Automatic;
320352
CURRENT_PROJECT_VERSION = 1;
353+
ENABLE_APP_SANDBOX = YES;
354+
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
321355
ENABLE_PREVIEWS = YES;
322356
GENERATE_INFOPLIST_FILE = YES;
323357
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;

Examples/Showcase/Showcase.xcodeproj/xcshareddata/xcschemes/Showcase.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1500"
3+
LastUpgradeVersion = "2600"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Examples/Showcase/Showcase/App.swift

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,13 @@
11
import SwiftUI
22

3-
#if os(iOS) || os(tvOS)
4-
@main
5-
final class AppDelegate: UIResponder, UIApplicationDelegate {
6-
7-
var window: UIWindow?
8-
9-
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
10-
window = UIWindow(frame: UIScreen.main.bounds)
11-
window?.rootViewController = UIHostingController(rootView: AppView())
12-
window?.makeKeyAndVisible()
13-
return true
14-
}
15-
}
16-
#elseif os(macOS) || os(visionOS)
173
@main
184
struct App: SwiftUI.App {
195
var body: some Scene {
206
WindowGroup {
21-
AppView()
7+
AppView().preferredColorScheme(.light)
228
}
239
}
2410
}
25-
#endif
2611

2712
#Preview {
2813
AppView()

0 commit comments

Comments
 (0)