Skip to content

Commit 37b5a6f

Browse files
Merge 5f9a4b3 into acac774
2 parents acac774 + 5f9a4b3 commit 37b5a6f

File tree

9 files changed

+552
-1
lines changed

9 files changed

+552
-1
lines changed

.github/workflows/ui-tests-critical.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,18 @@ jobs:
4848
xcode: "16.2"
4949
command:
5050
- fastlane_command: ui_critical_tests_ios_swiftui_envelope
51-
- fastlane_command: ui_critical_tests_ios_swiftui_crash
51+
52+
run-swiftui-crash-test:
53+
name: Run SwiftUI Crash Test
54+
runs-on: macos-15
55+
steps:
56+
- uses: actions/checkout@v4
57+
58+
- run: ./scripts/ci-select-xcode.sh 16.2
59+
60+
- name: Boot simulator
61+
run: ./scripts/ci-boot-simulator.sh
62+
63+
- name: Run SwiftUI Crash Test
64+
run: |
65+
./TestSamples/SwiftUICrashTest/test-crash-and-relaunch.sh

Sentry.xcworkspace/contents.xcworkspacedata

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 362 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,362 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 77;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
627AB7D12E0E6C2F00BCBB1B /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 627AB7D02E0E6C2F00BCBB1B /* Sentry.framework */; };
11+
627AB7D22E0E6C2F00BCBB1B /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 627AB7D02E0E6C2F00BCBB1B /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
12+
/* End PBXBuildFile section */
13+
14+
/* Begin PBXCopyFilesBuildPhase section */
15+
627AB7D32E0E6C2F00BCBB1B /* Embed Frameworks */ = {
16+
isa = PBXCopyFilesBuildPhase;
17+
buildActionMask = 2147483647;
18+
dstPath = "";
19+
dstSubfolderSpec = 10;
20+
files = (
21+
627AB7D22E0E6C2F00BCBB1B /* Sentry.framework in Embed Frameworks */,
22+
);
23+
name = "Embed Frameworks";
24+
runOnlyForDeploymentPostprocessing = 0;
25+
};
26+
/* End PBXCopyFilesBuildPhase section */
27+
28+
/* Begin PBXFileReference section */
29+
627AB7C12E0E6BE600BCBB1B /* SwiftUICrashTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftUICrashTest.app; sourceTree = BUILT_PRODUCTS_DIR; };
30+
627AB7D02E0E6C2F00BCBB1B /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; };
31+
/* End PBXFileReference section */
32+
33+
/* Begin PBXFileSystemSynchronizedRootGroup section */
34+
627AB7C32E0E6BE600BCBB1B /* SwiftUICrashTest */ = {
35+
isa = PBXFileSystemSynchronizedRootGroup;
36+
path = SwiftUICrashTest;
37+
sourceTree = "<group>";
38+
};
39+
/* End PBXFileSystemSynchronizedRootGroup section */
40+
41+
/* Begin PBXFrameworksBuildPhase section */
42+
627AB7BE2E0E6BE600BCBB1B /* Frameworks */ = {
43+
isa = PBXFrameworksBuildPhase;
44+
buildActionMask = 2147483647;
45+
files = (
46+
627AB7D12E0E6C2F00BCBB1B /* Sentry.framework in Frameworks */,
47+
);
48+
runOnlyForDeploymentPostprocessing = 0;
49+
};
50+
/* End PBXFrameworksBuildPhase section */
51+
52+
/* Begin PBXGroup section */
53+
627AB7B82E0E6BE600BCBB1B = {
54+
isa = PBXGroup;
55+
children = (
56+
627AB7C32E0E6BE600BCBB1B /* SwiftUICrashTest */,
57+
627AB7CF2E0E6C2F00BCBB1B /* Frameworks */,
58+
627AB7C22E0E6BE600BCBB1B /* Products */,
59+
);
60+
sourceTree = "<group>";
61+
};
62+
627AB7C22E0E6BE600BCBB1B /* Products */ = {
63+
isa = PBXGroup;
64+
children = (
65+
627AB7C12E0E6BE600BCBB1B /* SwiftUICrashTest.app */,
66+
);
67+
name = Products;
68+
sourceTree = "<group>";
69+
};
70+
627AB7CF2E0E6C2F00BCBB1B /* Frameworks */ = {
71+
isa = PBXGroup;
72+
children = (
73+
627AB7D02E0E6C2F00BCBB1B /* Sentry.framework */,
74+
);
75+
name = Frameworks;
76+
sourceTree = "<group>";
77+
};
78+
/* End PBXGroup section */
79+
80+
/* Begin PBXNativeTarget section */
81+
627AB7C02E0E6BE600BCBB1B /* SwiftUICrashTest */ = {
82+
isa = PBXNativeTarget;
83+
buildConfigurationList = 627AB7CC2E0E6BE800BCBB1B /* Build configuration list for PBXNativeTarget "SwiftUICrashTest" */;
84+
buildPhases = (
85+
627AB7BD2E0E6BE600BCBB1B /* Sources */,
86+
627AB7BE2E0E6BE600BCBB1B /* Frameworks */,
87+
627AB7BF2E0E6BE600BCBB1B /* Resources */,
88+
627AB7D32E0E6C2F00BCBB1B /* Embed Frameworks */,
89+
);
90+
buildRules = (
91+
);
92+
dependencies = (
93+
);
94+
fileSystemSynchronizedGroups = (
95+
627AB7C32E0E6BE600BCBB1B /* SwiftUICrashTest */,
96+
);
97+
name = SwiftUICrashTest;
98+
packageProductDependencies = (
99+
);
100+
productName = SwiftUICrashTest;
101+
productReference = 627AB7C12E0E6BE600BCBB1B /* SwiftUICrashTest.app */;
102+
productType = "com.apple.product-type.application";
103+
};
104+
/* End PBXNativeTarget section */
105+
106+
/* Begin PBXProject section */
107+
627AB7B92E0E6BE600BCBB1B /* Project object */ = {
108+
isa = PBXProject;
109+
attributes = {
110+
BuildIndependentTargetsInParallel = 1;
111+
LastSwiftUpdateCheck = 1640;
112+
LastUpgradeCheck = 1640;
113+
TargetAttributes = {
114+
627AB7C02E0E6BE600BCBB1B = {
115+
CreatedOnToolsVersion = 16.4;
116+
};
117+
};
118+
};
119+
buildConfigurationList = 627AB7BC2E0E6BE600BCBB1B /* Build configuration list for PBXProject "SwiftUICrashTest" */;
120+
developmentRegion = en;
121+
hasScannedForEncodings = 0;
122+
knownRegions = (
123+
en,
124+
Base,
125+
);
126+
mainGroup = 627AB7B82E0E6BE600BCBB1B;
127+
minimizedProjectReferenceProxies = 1;
128+
preferredProjectObjectVersion = 77;
129+
productRefGroup = 627AB7C22E0E6BE600BCBB1B /* Products */;
130+
projectDirPath = "";
131+
projectRoot = "";
132+
targets = (
133+
627AB7C02E0E6BE600BCBB1B /* SwiftUICrashTest */,
134+
);
135+
};
136+
/* End PBXProject section */
137+
138+
/* Begin PBXResourcesBuildPhase section */
139+
627AB7BF2E0E6BE600BCBB1B /* Resources */ = {
140+
isa = PBXResourcesBuildPhase;
141+
buildActionMask = 2147483647;
142+
files = (
143+
);
144+
runOnlyForDeploymentPostprocessing = 0;
145+
};
146+
/* End PBXResourcesBuildPhase section */
147+
148+
/* Begin PBXSourcesBuildPhase section */
149+
627AB7BD2E0E6BE600BCBB1B /* Sources */ = {
150+
isa = PBXSourcesBuildPhase;
151+
buildActionMask = 2147483647;
152+
files = (
153+
);
154+
runOnlyForDeploymentPostprocessing = 0;
155+
};
156+
/* End PBXSourcesBuildPhase section */
157+
158+
/* Begin XCBuildConfiguration section */
159+
627AB7CA2E0E6BE800BCBB1B /* Debug */ = {
160+
isa = XCBuildConfiguration;
161+
buildSettings = {
162+
ALWAYS_SEARCH_USER_PATHS = NO;
163+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
164+
CLANG_ANALYZER_NONNULL = YES;
165+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
166+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
167+
CLANG_ENABLE_MODULES = YES;
168+
CLANG_ENABLE_OBJC_ARC = YES;
169+
CLANG_ENABLE_OBJC_WEAK = YES;
170+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
171+
CLANG_WARN_BOOL_CONVERSION = YES;
172+
CLANG_WARN_COMMA = YES;
173+
CLANG_WARN_CONSTANT_CONVERSION = YES;
174+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
175+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
176+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
177+
CLANG_WARN_EMPTY_BODY = YES;
178+
CLANG_WARN_ENUM_CONVERSION = YES;
179+
CLANG_WARN_INFINITE_RECURSION = YES;
180+
CLANG_WARN_INT_CONVERSION = YES;
181+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
182+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
183+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
184+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
185+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
186+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
187+
CLANG_WARN_STRICT_PROTOTYPES = YES;
188+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
189+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
190+
CLANG_WARN_UNREACHABLE_CODE = YES;
191+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
192+
COPY_PHASE_STRIP = NO;
193+
DEBUG_INFORMATION_FORMAT = dwarf;
194+
DEVELOPMENT_TEAM = 97JCY7859U;
195+
ENABLE_STRICT_OBJC_MSGSEND = YES;
196+
ENABLE_TESTABILITY = YES;
197+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
198+
GCC_C_LANGUAGE_STANDARD = gnu17;
199+
GCC_DYNAMIC_NO_PIC = NO;
200+
GCC_NO_COMMON_BLOCKS = YES;
201+
GCC_OPTIMIZATION_LEVEL = 0;
202+
GCC_PREPROCESSOR_DEFINITIONS = (
203+
"DEBUG=1",
204+
"$(inherited)",
205+
);
206+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
207+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
208+
GCC_WARN_UNDECLARED_SELECTOR = YES;
209+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
210+
GCC_WARN_UNUSED_FUNCTION = YES;
211+
GCC_WARN_UNUSED_VARIABLE = YES;
212+
IPHONEOS_DEPLOYMENT_TARGET = 18.5;
213+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
214+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
215+
MTL_FAST_MATH = YES;
216+
ONLY_ACTIVE_ARCH = YES;
217+
SDKROOT = iphoneos;
218+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
219+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
220+
};
221+
name = Debug;
222+
};
223+
627AB7CB2E0E6BE800BCBB1B /* Release */ = {
224+
isa = XCBuildConfiguration;
225+
buildSettings = {
226+
ALWAYS_SEARCH_USER_PATHS = NO;
227+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
228+
CLANG_ANALYZER_NONNULL = YES;
229+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
230+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
231+
CLANG_ENABLE_MODULES = YES;
232+
CLANG_ENABLE_OBJC_ARC = YES;
233+
CLANG_ENABLE_OBJC_WEAK = YES;
234+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
235+
CLANG_WARN_BOOL_CONVERSION = YES;
236+
CLANG_WARN_COMMA = YES;
237+
CLANG_WARN_CONSTANT_CONVERSION = YES;
238+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
239+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
240+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
241+
CLANG_WARN_EMPTY_BODY = YES;
242+
CLANG_WARN_ENUM_CONVERSION = YES;
243+
CLANG_WARN_INFINITE_RECURSION = YES;
244+
CLANG_WARN_INT_CONVERSION = YES;
245+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
246+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
247+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
248+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
249+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
250+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
251+
CLANG_WARN_STRICT_PROTOTYPES = YES;
252+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
253+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
254+
CLANG_WARN_UNREACHABLE_CODE = YES;
255+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
256+
COPY_PHASE_STRIP = NO;
257+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
258+
DEVELOPMENT_TEAM = 97JCY7859U;
259+
ENABLE_NS_ASSERTIONS = NO;
260+
ENABLE_STRICT_OBJC_MSGSEND = YES;
261+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
262+
GCC_C_LANGUAGE_STANDARD = gnu17;
263+
GCC_NO_COMMON_BLOCKS = YES;
264+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
265+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
266+
GCC_WARN_UNDECLARED_SELECTOR = YES;
267+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
268+
GCC_WARN_UNUSED_FUNCTION = YES;
269+
GCC_WARN_UNUSED_VARIABLE = YES;
270+
IPHONEOS_DEPLOYMENT_TARGET = 18.5;
271+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
272+
MTL_ENABLE_DEBUG_INFO = NO;
273+
MTL_FAST_MATH = YES;
274+
SDKROOT = iphoneos;
275+
SWIFT_COMPILATION_MODE = wholemodule;
276+
VALIDATE_PRODUCT = YES;
277+
};
278+
name = Release;
279+
};
280+
627AB7CD2E0E6BE800BCBB1B /* Debug */ = {
281+
isa = XCBuildConfiguration;
282+
buildSettings = {
283+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
284+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
285+
CODE_SIGN_STYLE = Automatic;
286+
CURRENT_PROJECT_VERSION = 1;
287+
DEVELOPMENT_TEAM = 97JCY7859U;
288+
ENABLE_PREVIEWS = YES;
289+
GENERATE_INFOPLIST_FILE = YES;
290+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
291+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
292+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
293+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
294+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
295+
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
296+
LD_RUNPATH_SEARCH_PATHS = (
297+
"$(inherited)",
298+
"@executable_path/Frameworks",
299+
);
300+
MARKETING_VERSION = 1.0;
301+
PRODUCT_BUNDLE_IDENTIFIER = io.sentry.sentry.SwiftUICrashTest;
302+
PRODUCT_NAME = "$(TARGET_NAME)";
303+
SWIFT_EMIT_LOC_STRINGS = YES;
304+
SWIFT_VERSION = 5.0;
305+
TARGETED_DEVICE_FAMILY = "1,2";
306+
};
307+
name = Debug;
308+
};
309+
627AB7CE2E0E6BE800BCBB1B /* Release */ = {
310+
isa = XCBuildConfiguration;
311+
buildSettings = {
312+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
313+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
314+
CODE_SIGN_STYLE = Automatic;
315+
CURRENT_PROJECT_VERSION = 1;
316+
DEVELOPMENT_TEAM = 97JCY7859U;
317+
ENABLE_PREVIEWS = YES;
318+
GENERATE_INFOPLIST_FILE = YES;
319+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
320+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
321+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
322+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
323+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
324+
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
325+
LD_RUNPATH_SEARCH_PATHS = (
326+
"$(inherited)",
327+
"@executable_path/Frameworks",
328+
);
329+
MARKETING_VERSION = 1.0;
330+
PRODUCT_BUNDLE_IDENTIFIER = io.sentry.sentry.SwiftUICrashTest;
331+
PRODUCT_NAME = "$(TARGET_NAME)";
332+
SWIFT_EMIT_LOC_STRINGS = YES;
333+
SWIFT_VERSION = 5.0;
334+
TARGETED_DEVICE_FAMILY = "1,2";
335+
};
336+
name = Release;
337+
};
338+
/* End XCBuildConfiguration section */
339+
340+
/* Begin XCConfigurationList section */
341+
627AB7BC2E0E6BE600BCBB1B /* Build configuration list for PBXProject "SwiftUICrashTest" */ = {
342+
isa = XCConfigurationList;
343+
buildConfigurations = (
344+
627AB7CA2E0E6BE800BCBB1B /* Debug */,
345+
627AB7CB2E0E6BE800BCBB1B /* Release */,
346+
);
347+
defaultConfigurationIsVisible = 0;
348+
defaultConfigurationName = Release;
349+
};
350+
627AB7CC2E0E6BE800BCBB1B /* Build configuration list for PBXNativeTarget "SwiftUICrashTest" */ = {
351+
isa = XCConfigurationList;
352+
buildConfigurations = (
353+
627AB7CD2E0E6BE800BCBB1B /* Debug */,
354+
627AB7CE2E0E6BE800BCBB1B /* Release */,
355+
);
356+
defaultConfigurationIsVisible = 0;
357+
defaultConfigurationName = Release;
358+
};
359+
/* End XCConfigurationList section */
360+
};
361+
rootObject = 627AB7B92E0E6BE600BCBB1B /* Project object */;
362+
}

0 commit comments

Comments
 (0)