Skip to content

Commit 9f811ed

Browse files
authored
Add integration tests (#209)
1 parent 292898a commit 9f811ed

18 files changed

+2800
-881
lines changed

.github/workflows/run-tests.yml

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,54 @@ jobs:
6666
- name: Cancel workflow runs for commit on error
6767
if: failure()
6868
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
69+
integration-tests:
70+
name: Integration tests
71+
env:
72+
SDK_PUB_KEY: ${{ secrets.SDK_PUB_KEY }}
73+
SDK_SUB_KEY: ${{ secrets.SDK_SUB_KEY }}
74+
runs-on:
75+
group: macos-gh
76+
timeout-minutes: 15
77+
steps:
78+
- name: Checkout repository
79+
uses: actions/checkout@v4
80+
with:
81+
token: ${{ secrets.GH_TOKEN }}
82+
- name: Checkout actions
83+
uses: actions/checkout@v4
84+
with:
85+
repository: pubnub/client-engineering-deployment-tools
86+
ref: v1
87+
token: ${{ secrets.GH_TOKEN }}
88+
path: .github/.release/actions
89+
- name: Setup Ruby 3.2.2
90+
uses: ruby/setup-ruby@v1
91+
with:
92+
ruby-version: 3.2.2
93+
bundler-cache: true
94+
- name: Cache installed Pods
95+
uses: actions/cache@v4
96+
with:
97+
path: Pods
98+
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
99+
restore-keys: |
100+
${{ runner.os }}-pods-
101+
- name: Cache Swift Package Manager
102+
uses: actions/cache@v4
103+
with:
104+
path: |
105+
.build
106+
~/Library/Developer/Xcode/DerivedData/**/SourcePackages/checkouts
107+
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
108+
restore-keys: |
109+
${{ runner.os }}-spm-
110+
- name: Pre-load simulators list
111+
run: xcrun simctl list -j
112+
- name: Run integration tests
113+
run: bundle exec fastlane integration_test
114+
- name: Cancel workflow runs for commit on error
115+
if: failure()
116+
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
69117
acceptance-tests:
70118
name: Acceptance tests
71119
runs-on:
@@ -131,7 +179,7 @@ jobs:
131179
retention-days: 7
132180
all-tests:
133181
name: Tests
134-
needs: [tests, acceptance-tests]
182+
needs: [tests, integration-tests, acceptance-tests]
135183
runs-on:
136184
group: organization/Default
137185
steps:

PubNub.xcodeproj/project.pbxproj

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
355E1E6923458BC10094D3E0 /* objects_members_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 355E1E6823458BC10094D3E0 /* objects_members_success.json */; };
144144
355F213722DECFCD004DEFBF /* Typealias+PubNub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 355F213622DECFCD004DEFBF /* Typealias+PubNub.swift */; };
145145
3562DBB923428961006DFFBC /* objects_uuid_remove_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 3562DBB823428961006DFFBC /* objects_uuid_remove_success.json */; };
146-
3562DBBD23429798006DFFBC /* UUIDObjectsEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3562DBBA234294D5006DFFBC /* UUIDObjectsEndpointIntegrationTests.swift */; };
146+
3562DBBD23429798006DFFBC /* UserObjectsEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3562DBBA234294D5006DFFBC /* UserObjectsEndpointIntegrationTests.swift */; };
147147
3562DBC1234408DC006DFFBC /* ChannelObjectsEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3562DBC0234408DC006DFFBC /* ChannelObjectsEndpointIntegrationTests.swift */; };
148148
3562DBC523450D6F006DFFBC /* objects_channel_all_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 3562DBC423450D6E006DFFBC /* objects_channel_all_success.json */; };
149149
3562DBC923450D98006DFFBC /* objects_channel_fetch_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 3562DBC823450D98006DFFBC /* objects_channel_fetch_success.json */; };
@@ -187,7 +187,6 @@
187187
358C6421238C6787009CE354 /* PubNubPushMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 358C6420238C6787009CE354 /* PubNubPushMessage.swift */; };
188188
359152A122BA9AA30048842D /* PubNubConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 359152A022BA9AA30048842D /* PubNubConfiguration.swift */; };
189189
359152AB22BAA6730048842D /* PubNubConfigurationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 359152AA22BAA6730048842D /* PubNubConfigurationTests.swift */; };
190-
359287B02316EC580046F7A2 /* OnboardingSnippets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C829D723145AFD00F59D3C /* OnboardingSnippets.swift */; };
191190
359287B82317294B0046F7A2 /* PublishEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 359287B5231727EC0046F7A2 /* PublishEndpointIntegrationTests.swift */; };
192191
359287BF23183DC20046F7A2 /* subscription_signal_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 359287BE23183DBB0046F7A2 /* subscription_signal_success.json */; };
193192
359287C123183E530046F7A2 /* subscription_presence_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 359287C023183E4A0046F7A2 /* subscription_presence_success.json */; };
@@ -365,8 +364,10 @@
365364
35FE941222EFB70B0051C455 /* unrecognizedEndpointError.json in Resources */ = {isa = PBXBuildFile; fileRef = 35FE941122EFB70B0051C455 /* unrecognizedEndpointError.json */; };
366365
35FE941422EFB7C10051C455 /* unknownEndpointError.json in Resources */ = {isa = PBXBuildFile; fileRef = 35FE941322EFB7C10051C455 /* unknownEndpointError.json */; };
367366
35FE941F22F0929A0051C455 /* RequestRetrierTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35FE941E22F0929A0051C455 /* RequestRetrierTests.swift */; };
367+
3D0934362DD33A74007132B1 /* FilesEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0934352DD33A74007132B1 /* FilesEndpointIntegrationTests.swift */; };
368368
3D1C4FF62C074BDB0030B3D6 /* KMPHashedPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1C4FF52C074BDB0030B3D6 /* KMPHashedPage.swift */; };
369369
3D2642942C3BE835000154EC /* Dictionary+ObjCRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D2642932C3BE835000154EC /* Dictionary+ObjCRepresentable.swift */; };
370+
3D2AF8BD2DD72CEB009303B6 /* HistoryEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D2AF8BC2DD72CEB009303B6 /* HistoryEndpointIntegrationTests.swift */; };
370371
3D339C782BFF826500197342 /* KMPEventListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D339C742BFF826500197342 /* KMPEventListener.swift */; };
371372
3D339C792BFF826500197342 /* KMPFetchMessagesResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D339C752BFF826500197342 /* KMPFetchMessagesResult.swift */; };
372373
3D339C7A2BFF826500197342 /* KMPPresenceChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D339C762BFF826500197342 /* KMPPresenceChange.swift */; };
@@ -452,7 +453,9 @@
452453
3DA24A412C2AAB23005B959B /* KMPPubNub+ChannelGroups.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA24A402C2AAB23005B959B /* KMPPubNub+ChannelGroups.swift */; };
453454
3DA24A432C2AAB54005B959B /* KMPPubNub+AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA24A422C2AAB54005B959B /* KMPPubNub+AppContext.swift */; };
454455
3DA24A452C2AABC0005B959B /* KMPPubNub+Files.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA24A442C2AABC0005B959B /* KMPPubNub+Files.swift */; };
456+
3DAB7C512DD5047F0003D693 /* XCTestCase+Integration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAB7C502DD5047F0003D693 /* XCTestCase+Integration.swift */; };
455457
3DACC7F72AB88F8E00210B14 /* Data+CommonCrypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DACC7F62AB88F8E00210B14 /* Data+CommonCrypto.swift */; };
458+
3DADDF972DCB4E8E001564C3 /* ChannelGroupEndpointIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DADDF962DCB4E8E001564C3 /* ChannelGroupEndpointIntegrationTests.swift */; };
456459
3DB2C4872C0F4B250060B8CF /* KMPStatusListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB2C4862C0F4B250060B8CF /* KMPStatusListener.swift */; };
457460
3DB692522D555AA5006702DC /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB692512D555AA5006702DC /* Logger.swift */; };
458461
3DB9255C2B7A2B89001B7E90 /* SubscriptionStreamTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB925592B7A2B89001B7E90 /* SubscriptionStreamTests.swift */; };
@@ -757,7 +760,7 @@
757760
355E1E6823458BC10094D3E0 /* objects_members_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = objects_members_success.json; sourceTree = "<group>"; };
758761
355F213622DECFCD004DEFBF /* Typealias+PubNub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typealias+PubNub.swift"; sourceTree = "<group>"; };
759762
3562DBB823428961006DFFBC /* objects_uuid_remove_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = objects_uuid_remove_success.json; sourceTree = "<group>"; };
760-
3562DBBA234294D5006DFFBC /* UUIDObjectsEndpointIntegrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UUIDObjectsEndpointIntegrationTests.swift; sourceTree = "<group>"; };
763+
3562DBBA234294D5006DFFBC /* UserObjectsEndpointIntegrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserObjectsEndpointIntegrationTests.swift; sourceTree = "<group>"; };
761764
3562DBC0234408DC006DFFBC /* ChannelObjectsEndpointIntegrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelObjectsEndpointIntegrationTests.swift; sourceTree = "<group>"; };
762765
3562DBC22345066F006DFFBC /* ObjectsChannelRouterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjectsChannelRouterTests.swift; sourceTree = "<group>"; };
763766
3562DBC423450D6E006DFFBC /* objects_channel_all_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = objects_channel_all_success.json; sourceTree = "<group>"; };
@@ -887,7 +890,6 @@
887890
35C6B6DC22F501780054F242 /* Encodable+PubNub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Encodable+PubNub.swift"; sourceTree = "<group>"; };
888891
35C6B6DF22F513D80054F242 /* subscription_mixed_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = subscription_mixed_success.json; sourceTree = "<group>"; };
889892
35C6B6E522F51A060054F242 /* AnyJSONType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyJSONType.swift; sourceTree = "<group>"; };
890-
35C829D723145AFD00F59D3C /* OnboardingSnippets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingSnippets.swift; sourceTree = "<group>"; };
891893
35C829DB23147AC000F59D3C /* SubscriptionState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionState.swift; sourceTree = "<group>"; };
892894
35C8FDCA25003A9F0069E89E /* file_generateURL_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = file_generateURL_success.json; sourceTree = "<group>"; };
893895
35CA8FFF285A5DAC007C2F65 /* PubNubUserIntTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PubNubUserIntTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -992,8 +994,10 @@
992994
35FE941122EFB70B0051C455 /* unrecognizedEndpointError.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unrecognizedEndpointError.json; sourceTree = "<group>"; };
993995
35FE941322EFB7C10051C455 /* unknownEndpointError.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unknownEndpointError.json; sourceTree = "<group>"; };
994996
35FE941E22F0929A0051C455 /* RequestRetrierTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestRetrierTests.swift; sourceTree = "<group>"; };
997+
3D0934352DD33A74007132B1 /* FilesEndpointIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesEndpointIntegrationTests.swift; sourceTree = "<group>"; };
995998
3D1C4FF52C074BDB0030B3D6 /* KMPHashedPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPHashedPage.swift; sourceTree = "<group>"; };
996999
3D2642932C3BE835000154EC /* Dictionary+ObjCRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+ObjCRepresentable.swift"; sourceTree = "<group>"; };
1000+
3D2AF8BC2DD72CEB009303B6 /* HistoryEndpointIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryEndpointIntegrationTests.swift; sourceTree = "<group>"; };
9971001
3D339C742BFF826500197342 /* KMPEventListener.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPEventListener.swift; sourceTree = "<group>"; };
9981002
3D339C752BFF826500197342 /* KMPFetchMessagesResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPFetchMessagesResult.swift; sourceTree = "<group>"; };
9991003
3D339C762BFF826500197342 /* KMPPresenceChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPPresenceChange.swift; sourceTree = "<group>"; };
@@ -1075,7 +1079,9 @@
10751079
3DA24A402C2AAB23005B959B /* KMPPubNub+ChannelGroups.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMPPubNub+ChannelGroups.swift"; sourceTree = "<group>"; };
10761080
3DA24A422C2AAB54005B959B /* KMPPubNub+AppContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMPPubNub+AppContext.swift"; sourceTree = "<group>"; };
10771081
3DA24A442C2AABC0005B959B /* KMPPubNub+Files.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMPPubNub+Files.swift"; sourceTree = "<group>"; };
1082+
3DAB7C502DD5047F0003D693 /* XCTestCase+Integration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Integration.swift"; sourceTree = "<group>"; };
10781083
3DACC7F62AB88F8E00210B14 /* Data+CommonCrypto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+CommonCrypto.swift"; sourceTree = "<group>"; };
1084+
3DADDF962DCB4E8E001564C3 /* ChannelGroupEndpointIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelGroupEndpointIntegrationTests.swift; sourceTree = "<group>"; };
10791085
3DB2C4862C0F4B250060B8CF /* KMPStatusListener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPStatusListener.swift; sourceTree = "<group>"; };
10801086
3DB692512D555AA5006702DC /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; };
10811087
3DB925592B7A2B89001B7E90 /* SubscriptionStreamTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SubscriptionStreamTests.swift; sourceTree = "<group>"; };
@@ -1383,15 +1389,17 @@
13831389
3558073823145A48005CDD92 /* Integration */ = {
13841390
isa = PBXGroup;
13851391
children = (
1386-
35293AA1236B51A00049A71F /* PubNub+Integration.swift */,
1387-
35C829D723145AFD00F59D3C /* OnboardingSnippets.swift */,
13881392
359287B5231727EC0046F7A2 /* PublishEndpointIntegrationTests.swift */,
1389-
3562DBBA234294D5006DFFBC /* UUIDObjectsEndpointIntegrationTests.swift */,
1390-
35293A99236A1DE70049A71F /* MessageActionsEndpointIntegrationTests.swift */,
1393+
3562DBBA234294D5006DFFBC /* UserObjectsEndpointIntegrationTests.swift */,
13911394
3562DBC0234408DC006DFFBC /* ChannelObjectsEndpointIntegrationTests.swift */,
1395+
35293A99236A1DE70049A71F /* MessageActionsEndpointIntegrationTests.swift */,
13921396
359287C6232712520046F7A2 /* PresenceEndpointIntegrationTests.swift */,
13931397
353D92A92356244100367B9F /* SubscriptionIntegrationTests.swift */,
13941398
3557CE022386054C004BBACC /* PushIntegrationTests.swift */,
1399+
3DADDF962DCB4E8E001564C3 /* ChannelGroupEndpointIntegrationTests.swift */,
1400+
3D0934352DD33A74007132B1 /* FilesEndpointIntegrationTests.swift */,
1401+
3D2AF8BC2DD72CEB009303B6 /* HistoryEndpointIntegrationTests.swift */,
1402+
3DADDF942DCB4776001564C3 /* Helpers */,
13951403
);
13961404
path = Integration;
13971405
sourceTree = "<group>";
@@ -2324,6 +2332,15 @@
23242332
path = KMP;
23252333
sourceTree = "<group>";
23262334
};
2335+
3DADDF942DCB4776001564C3 /* Helpers */ = {
2336+
isa = PBXGroup;
2337+
children = (
2338+
35293AA1236B51A00049A71F /* PubNub+Integration.swift */,
2339+
3DAB7C502DD5047F0003D693 /* XCTestCase+Integration.swift */,
2340+
);
2341+
path = Helpers;
2342+
sourceTree = "<group>";
2343+
};
23272344
3DB692502D555A93006702DC /* Logger */ = {
23282345
isa = PBXGroup;
23292346
children = (
@@ -3391,10 +3408,13 @@
33913408
buildActionMask = 0;
33923409
files = (
33933410
35293AA2236B51A00049A71F /* PubNub+Integration.swift in Sources */,
3394-
359287B02316EC580046F7A2 /* OnboardingSnippets.swift in Sources */,
3395-
3562DBBD23429798006DFFBC /* UUIDObjectsEndpointIntegrationTests.swift in Sources */,
3411+
3DADDF972DCB4E8E001564C3 /* ChannelGroupEndpointIntegrationTests.swift in Sources */,
3412+
3562DBBD23429798006DFFBC /* UserObjectsEndpointIntegrationTests.swift in Sources */,
33963413
35293A9A236A1DE70049A71F /* MessageActionsEndpointIntegrationTests.swift in Sources */,
3414+
3D2AF8BD2DD72CEB009303B6 /* HistoryEndpointIntegrationTests.swift in Sources */,
33973415
3562DBC1234408DC006DFFBC /* ChannelObjectsEndpointIntegrationTests.swift in Sources */,
3416+
3DAB7C512DD5047F0003D693 /* XCTestCase+Integration.swift in Sources */,
3417+
3D0934362DD33A74007132B1 /* FilesEndpointIntegrationTests.swift in Sources */,
33983418
359287C7232712520046F7A2 /* PresenceEndpointIntegrationTests.swift in Sources */,
33993419
3520962F2358D64C00A641DF /* TestSetup.swift in Sources */,
34003420
352096302358D67000A641DF /* TestLogWriter.swift in Sources */,
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1600"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
</BuildAction>
10+
<TestAction
11+
buildConfiguration = "Debug"
12+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
13+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
14+
shouldUseLaunchSchemeArgsEnv = "YES"
15+
shouldAutocreateTestPlan = "YES">
16+
<Testables>
17+
<TestableReference
18+
skipped = "NO">
19+
<BuildableReference
20+
BuildableIdentifier = "primary"
21+
BlueprintIdentifier = "3558069D23145749005CDD92"
22+
BuildableName = "PubNubIntTests.xctest"
23+
BlueprintName = "PubNubIntegration"
24+
ReferencedContainer = "container:PubNub.xcodeproj">
25+
</BuildableReference>
26+
</TestableReference>
27+
</Testables>
28+
</TestAction>
29+
<LaunchAction
30+
buildConfiguration = "Debug"
31+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
32+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
33+
launchStyle = "0"
34+
useCustomWorkingDirectory = "NO"
35+
ignoresPersistentStateOnLaunch = "NO"
36+
debugDocumentVersioning = "YES"
37+
debugServiceExtension = "internal"
38+
allowLocationSimulation = "YES">
39+
</LaunchAction>
40+
<ProfileAction
41+
buildConfiguration = "Release"
42+
shouldUseLaunchSchemeArgsEnv = "YES"
43+
savedToolIdentifier = ""
44+
useCustomWorkingDirectory = "NO"
45+
debugDocumentVersioning = "YES">
46+
</ProfileAction>
47+
<AnalyzeAction
48+
buildConfiguration = "Debug">
49+
</AnalyzeAction>
50+
<ArchiveAction
51+
buildConfiguration = "Release"
52+
revealArchiveInOrganizer = "YES">
53+
</ArchiveAction>
54+
</Scheme>

0 commit comments

Comments
 (0)