Skip to content

Commit d3fbf59

Browse files
authored
Merge pull request #4076 from bbirman/app-scene
Update SalesforceSDKCoreTestApp to use scene lifecycle
2 parents 2692236 + 8a71bad commit d3fbf59

7 files changed

Lines changed: 57 additions & 177 deletions

File tree

libs/SalesforceSDKCore/SalesforceSDKCore.xcodeproj/project.pbxproj

Lines changed: 5 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,6 @@
9191
4F7EB4161BFFC8D700768720 /* SDKCommonNSDataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB3F71BFFC87600768720 /* SDKCommonNSDataTests.m */; };
9292
4F7EB4171BFFC8D700768720 /* SFEncryptionKeyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB3F81BFFC87600768720 /* SFEncryptionKeyTests.m */; };
9393
4F7EB41B1BFFC8D700768720 /* SFSDKCryptoUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB3FC1BFFC87600768720 /* SFSDKCryptoUtilsTests.m */; };
94-
4F7EB4AB1BFFCF0000768720 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB4961BFFCEF600768720 /* AppDelegate.m */; };
95-
4F7EB4AC1BFFCF0F00768720 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB4A01BFFCEF600768720 /* main.m */; };
96-
4F7EB4AD1BFFCF2300768720 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7EB4A41BFFCEF600768720 /* ViewController.m */; };
9794
4F8A3B012CEC202F00ECDC76 /* JwtAccessToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F8A3B002CEC202F00ECDC76 /* JwtAccessToken.swift */; };
9895
4F9E05322DD6A08000548985 /* SFSDKOAuthTokenEndpointResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F9E052C2DD6A06F00548985 /* SFSDKOAuthTokenEndpointResponseTests.m */; };
9996
4F9E05342DD7BE1500548985 /* SFOAuthCredentialsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F9E05332DD7BE0A00548985 /* SFOAuthCredentialsTests.m */; };
@@ -119,8 +116,6 @@
119116
4FE006E02EBEBC0000CFD66F /* NativeLoginManagerInternal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE006DF2EBEBC0000CFD66F /* NativeLoginManagerInternal.swift */; };
120117
4FE006E12EBEBC0000CFD66F /* NativeLoginManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE006DE2EBEBC0000CFD66F /* NativeLoginManager.swift */; };
121118
4FE0070F2EBED6C000CFD66F /* SFSDKLoginHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FE006CB2EBEBBF300CFD66F /* SFSDKLoginHost.h */; settings = {ATTRIBUTES = (Public, ); }; };
122-
4FE5332A1BFFE70600814D2A /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4F7EB4981BFFCEF600768720 /* Main_iPad.storyboard */; };
123-
4FE5332B1BFFE70600814D2A /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4F7EB49A1BFFCEF600768720 /* Main_iPhone.storyboard */; };
124119
6900B62C24B64DD800500923 /* NSURLResponse+SFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6900B62A24B64DD800500923 /* NSURLResponse+SFAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
125120
6900B62D24B64DD800500923 /* NSURLResponse+SFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6900B62B24B64DD800500923 /* NSURLResponse+SFAdditions.m */; };
126121
6900D804243D521C00888336 /* SFRestAPI+Notifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 6900D802243D521C00888336 /* SFRestAPI+Notifications.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -136,6 +131,7 @@
136131
693E623B24A29B6B0017B222 /* SFSDKKeyValueEncryptedFileStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 693E623A24A29B6B0017B222 /* SFSDKKeyValueEncryptedFileStoreTests.m */; };
137132
694163EC2FC7B2BE007E9C8B /* ScreenLockUIConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 694163EB2FC7B2BE007E9C8B /* ScreenLockUIConfiguration.swift */; };
138133
694490D025B8F4C4007747CD /* SFSDKWindowManager+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 694490C725B8E567007747CD /* SFSDKWindowManager+Internal.h */; };
134+
695583B12FE4DB6C0042CF82 /* SalesforceSDKCoreTestApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 695583B02FE4DB5E0042CF82 /* SalesforceSDKCoreTestApp.swift */; };
139135
695E86A829EE24D0002BDEA6 /* SPConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 695E86A729EE24D0002BDEA6 /* SPConfig.swift */; };
140136
695E86B929EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 695E86B729EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.h */; };
141137
695E86BA29EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 695E86B829EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.m */; };
@@ -609,16 +605,9 @@
609605
4F7EB3FC1BFFC87600768720 /* SFSDKCryptoUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SFSDKCryptoUtilsTests.m; path = SalesforceSDKCoreTests/SFSDKCryptoUtilsTests.m; sourceTree = SOURCE_ROOT; };
610606
4F7EB4151BFFC88200768720 /* SalesforceSDKCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SalesforceSDKCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
611607
4F7EB4591BFFCB3500768720 /* SalesforceSDKCoreTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "SalesforceSDKCoreTests-Info.plist"; path = "SalesforceSDKCoreTests/SalesforceSDKCoreTests-Info.plist"; sourceTree = SOURCE_ROOT; };
612-
4F7EB4951BFFCEF600768720 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = SalesforceSDKCoreTestApp/AppDelegate.h; sourceTree = SOURCE_ROOT; };
613-
4F7EB4961BFFCEF600768720 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = SalesforceSDKCoreTestApp/AppDelegate.m; sourceTree = SOURCE_ROOT; };
614-
4F7EB4991BFFCEF600768720 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Main_iPad.storyboard; sourceTree = "<group>"; };
615-
4F7EB49B1BFFCEF600768720 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Main_iPhone.storyboard; sourceTree = "<group>"; };
616608
4F7EB49F1BFFCEF600768720 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SalesforceSDKCoreTestApp/Images.xcassets; sourceTree = SOURCE_ROOT; };
617-
4F7EB4A01BFFCEF600768720 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = SalesforceSDKCoreTestApp/main.m; sourceTree = SOURCE_ROOT; };
618609
4F7EB4A11BFFCEF600768720 /* SalesforceSDKCoreTestApp-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "SalesforceSDKCoreTestApp-Info.plist"; path = "SalesforceSDKCoreTestApp/SalesforceSDKCoreTestApp-Info.plist"; sourceTree = SOURCE_ROOT; };
619610
4F7EB4A21BFFCEF600768720 /* SalesforceSDKCoreTestApp-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SalesforceSDKCoreTestApp-Prefix.pch"; path = "SalesforceSDKCoreTestApp/SalesforceSDKCoreTestApp-Prefix.pch"; sourceTree = SOURCE_ROOT; };
620-
4F7EB4A31BFFCEF600768720 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ViewController.h; path = SalesforceSDKCoreTestApp/ViewController.h; sourceTree = SOURCE_ROOT; };
621-
4F7EB4A41BFFCEF600768720 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ViewController.m; path = SalesforceSDKCoreTestApp/ViewController.m; sourceTree = SOURCE_ROOT; };
622611
4F8A3B002CEC202F00ECDC76 /* JwtAccessToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JwtAccessToken.swift; sourceTree = "<group>"; };
623612
4F96FC521BFD32130022F021 /* NSData+SFSDKUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+SFSDKUtils.h"; sourceTree = "<group>"; };
624613
4F96FC531BFD32130022F021 /* NSData+SFSDKUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+SFSDKUtils.m"; sourceTree = "<group>"; };
@@ -748,6 +737,7 @@
748737
693E623A24A29B6B0017B222 /* SFSDKKeyValueEncryptedFileStoreTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SFSDKKeyValueEncryptedFileStoreTests.m; path = SalesforceSDKCoreTests/SFSDKKeyValueEncryptedFileStoreTests.m; sourceTree = SOURCE_ROOT; };
749738
694163EB2FC7B2BE007E9C8B /* ScreenLockUIConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScreenLockUIConfiguration.swift; sourceTree = "<group>"; };
750739
694490C725B8E567007747CD /* SFSDKWindowManager+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SFSDKWindowManager+Internal.h"; sourceTree = "<group>"; };
740+
695583B02FE4DB5E0042CF82 /* SalesforceSDKCoreTestApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SalesforceSDKCoreTestApp.swift; sourceTree = "<group>"; };
751741
695E86A729EE24D0002BDEA6 /* SPConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPConfig.swift; sourceTree = "<group>"; };
752742
695E86B729EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SFSDKIDPAuthCodeLoginRequestCommand.h; sourceTree = "<group>"; };
753743
695E86B829EF8D6E002BDEA6 /* SFSDKIDPAuthCodeLoginRequestCommand.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SFSDKIDPAuthCodeLoginRequestCommand.m; sourceTree = "<group>"; };
@@ -1524,17 +1514,11 @@
15241514
82D4642819C7C8170006BDFE /* SalesforceSDKCoreTestApp */ = {
15251515
isa = PBXGroup;
15261516
children = (
1517+
695583B02FE4DB5E0042CF82 /* SalesforceSDKCoreTestApp.swift */,
15271518
B7282F3F1D8C70E700475F79 /* SalesforceSDKCoreTestApp.entitlements */,
1528-
4F7EB4951BFFCEF600768720 /* AppDelegate.h */,
1529-
4F7EB4961BFFCEF600768720 /* AppDelegate.m */,
1530-
4F7EB4981BFFCEF600768720 /* Main_iPad.storyboard */,
1531-
4F7EB49A1BFFCEF600768720 /* Main_iPhone.storyboard */,
15321519
4F7EB49F1BFFCEF600768720 /* Images.xcassets */,
1533-
4F7EB4A01BFFCEF600768720 /* main.m */,
15341520
4F7EB4A11BFFCEF600768720 /* SalesforceSDKCoreTestApp-Info.plist */,
15351521
4F7EB4A21BFFCEF600768720 /* SalesforceSDKCoreTestApp-Prefix.pch */,
1536-
4F7EB4A31BFFCEF600768720 /* ViewController.h */,
1537-
4F7EB4A41BFFCEF600768720 /* ViewController.m */,
15381522
);
15391523
path = SalesforceSDKCoreTestApp;
15401524
sourceTree = SOURCE_ROOT;
@@ -2030,6 +2014,7 @@
20302014
TestTargetID = 82D4642319C7C8170006BDFE;
20312015
};
20322016
82D4642319C7C8170006BDFE = {
2017+
LastSwiftMigration = 2630;
20332018
ProvisioningStyle = Manual;
20342019
SystemCapabilities = {
20352020
com.apple.Keychain = {
@@ -2142,8 +2127,6 @@
21422127
isa = PBXResourcesBuildPhase;
21432128
buildActionMask = 2147483647;
21442129
files = (
2145-
4FE5332B1BFFE70600814D2A /* Main_iPhone.storyboard in Resources */,
2146-
4FE5332A1BFFE70600814D2A /* Main_iPad.storyboard in Resources */,
21472130
);
21482131
runOnlyForDeploymentPostprocessing = 0;
21492132
};
@@ -2287,9 +2270,7 @@
22872270
isa = PBXSourcesBuildPhase;
22882271
buildActionMask = 2147483647;
22892272
files = (
2290-
4F7EB4AD1BFFCF2300768720 /* ViewController.m in Sources */,
2291-
4F7EB4AC1BFFCF0F00768720 /* main.m in Sources */,
2292-
4F7EB4AB1BFFCF0000768720 /* AppDelegate.m in Sources */,
2273+
695583B12FE4DB6C0042CF82 /* SalesforceSDKCoreTestApp.swift in Sources */,
22932274
);
22942275
runOnlyForDeploymentPostprocessing = 0;
22952276
};
@@ -2496,27 +2477,6 @@
24962477
};
24972478
/* End PBXTargetDependency section */
24982479

2499-
/* Begin PBXVariantGroup section */
2500-
4F7EB4981BFFCEF600768720 /* Main_iPad.storyboard */ = {
2501-
isa = PBXVariantGroup;
2502-
children = (
2503-
4F7EB4991BFFCEF600768720 /* Base */,
2504-
);
2505-
name = Main_iPad.storyboard;
2506-
path = Base.lproj;
2507-
sourceTree = "<group>";
2508-
};
2509-
4F7EB49A1BFFCEF600768720 /* Main_iPhone.storyboard */ = {
2510-
isa = PBXVariantGroup;
2511-
children = (
2512-
4F7EB49B1BFFCEF600768720 /* Base */,
2513-
);
2514-
name = Main_iPhone.storyboard;
2515-
path = Base.lproj;
2516-
sourceTree = "<group>";
2517-
};
2518-
/* End PBXVariantGroup section */
2519-
25202480
/* Begin XCBuildConfiguration section */
25212481
2DE48CC618BFAD45008345C7 /* Debug */ = {
25222482
isa = XCBuildConfiguration;

libs/SalesforceSDKCore/SalesforceSDKCoreTestApp/Base.lproj/Main_iPad.storyboard

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

libs/SalesforceSDKCore/SalesforceSDKCoreTestApp/Base.lproj/Main_iPhone.storyboard

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

libs/SalesforceSDKCore/SalesforceSDKCoreTestApp/SalesforceSDKCoreTestApp-Info.plist

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5-
<key>NSFaceIDUsageDescription</key>
6-
<string>&quot;Secure Unlock&quot;</string>
75
<key>CFBundleDevelopmentRegion</key>
86
<string>en</string>
97
<key>CFBundleDisplayName</key>
@@ -26,10 +24,20 @@
2624
<string>1.0</string>
2725
<key>LSRequiresIPhoneOS</key>
2826
<true/>
29-
<key>UIMainStoryboardFile</key>
30-
<string>Main_iPhone</string>
31-
<key>UIMainStoryboardFile~ipad</key>
32-
<string>Main_iPad</string>
27+
<key>NSFaceIDUsageDescription</key>
28+
<string>"Secure Unlock"</string>
29+
<key>UIApplicationSceneManifest</key>
30+
<dict>
31+
<key>UIApplicationSupportsMultipleScenes</key>
32+
<false/>
33+
<key>UISceneConfigurations</key>
34+
<dict/>
35+
</dict>
36+
<key>UILaunchScreen</key>
37+
<dict>
38+
<key>UILaunchScreen</key>
39+
<string></string>
40+
</dict>
3341
<key>UIRequiredDeviceCapabilities</key>
3442
<array>
3543
<string>armv7</string>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
//
2+
// SalesforceSDKCoreTestApp.swift
3+
// SalesforceSDKCore
4+
//
5+
// Created by Brianna Birman on 6/18/26.
6+
// Copyright (c) 2026-present, salesforce.com, inc. All rights reserved.
7+
//
8+
// Redistribution and use of this software in source and binary forms, with or without modification,
9+
// are permitted provided that the following conditions are met:
10+
// * Redistributions of source code must retain the above copyright notice, this list of conditions
11+
// and the following disclaimer.
12+
// * Redistributions in binary form must reproduce the above copyright notice, this list of
13+
// conditions and the following disclaimer in the documentation and/or other materials provided
14+
// with the distribution.
15+
// * Neither the name of salesforce.com, inc. nor the names of its contributors may be used to
16+
// endorse or promote products derived from this software without specific prior written
17+
// permission of salesforce.com, inc.
18+
//
19+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
20+
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21+
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22+
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25+
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
26+
// WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27+
28+
import SwiftUI
29+
30+
@main
31+
struct SalesforceSDKCoreTestApp: App {
32+
var body: some Scene {
33+
WindowGroup {
34+
Text("SalesforceSDKCore Test App")
35+
.padding()
36+
}
37+
}
38+
}

libs/SalesforceSDKCore/SalesforceSDKCoreTestApp/ViewController.h

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

0 commit comments

Comments
 (0)