Skip to content

Commit b7f9402

Browse files
committed
Merge upstream aws-amplify/amplify-swift main (through 2.60.1)
Brings the fork up to date with upstream releases 2.58.5, 2.59.0, 2.60.0 and 2.60.1 (19 commits from merge base 8741e90). Resolved the sole conflict (.github/workflows/unit_test.yml, modify/delete) by keeping the fork's deletion — all upstream workflows were removed in 7b90dc6. Note: upstream 2.60.1 includes aws-amplify#4254, which is our device-metadata alias-pool fix upstreamed. The fix/device-metadata-alias-username branch is now redundant.
2 parents 3124948 + 8270037 commit b7f9402

57 files changed

Lines changed: 5516 additions & 49 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Unit Tests | Connect
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
ios:
6+
description: '📱 iOS'
7+
required: true
8+
default: true
9+
type: boolean
10+
macos:
11+
description: '💻 macOS'
12+
required: true
13+
default: true
14+
type: boolean
15+
tvos:
16+
description: '📺 tvOS'
17+
required: true
18+
default: true
19+
type: boolean
20+
watchos:
21+
description: '⌚️ watchOS'
22+
required: true
23+
default: true
24+
type: boolean
25+
visionos:
26+
description: 'ᯅ visionOS'
27+
required: true
28+
default: true
29+
type: boolean
30+
31+
permissions:
32+
contents: read
33+
34+
jobs:
35+
connect-unit-tests:
36+
uses: ./.github/workflows/run_unit_tests_platforms.yml
37+
with:
38+
scheme: AmplifyConnectClient
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Unit Tests | Event Enrichment
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
ios:
6+
description: '📱 iOS'
7+
required: true
8+
default: true
9+
type: boolean
10+
macos:
11+
description: '💻 macOS'
12+
required: true
13+
default: true
14+
type: boolean
15+
tvos:
16+
description: '📺 tvOS'
17+
required: true
18+
default: true
19+
type: boolean
20+
watchos:
21+
description: '⌚️ watchOS'
22+
required: true
23+
default: true
24+
type: boolean
25+
visionos:
26+
description: 'ᯅ visionOS'
27+
required: true
28+
default: true
29+
type: boolean
30+
31+
permissions:
32+
contents: read
33+
34+
jobs:
35+
event-enrichment-unit-tests:
36+
uses: ./.github/workflows/run_unit_tests_platforms.yml
37+
with:
38+
scheme: AmplifyEventEnrichmentClient

.swiftpm/xcode/xcshareddata/xcschemes/Amplify-Package.xcscheme

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,48 @@
524524
ReferencedContainer = "container:">
525525
</BuildableReference>
526526
</BuildActionEntry>
527+
<BuildActionEntry
528+
buildForTesting = "YES"
529+
buildForRunning = "YES"
530+
buildForProfiling = "YES"
531+
buildForArchiving = "YES"
532+
buildForAnalyzing = "YES">
533+
<BuildableReference
534+
BuildableIdentifier = "primary"
535+
BlueprintIdentifier = "AmplifyConnectClient"
536+
BuildableName = "AmplifyConnectClient"
537+
BlueprintName = "AmplifyConnectClient"
538+
ReferencedContainer = "container:">
539+
</BuildableReference>
540+
</BuildActionEntry>
541+
<BuildActionEntry
542+
buildForTesting = "YES"
543+
buildForRunning = "YES"
544+
buildForProfiling = "YES"
545+
buildForArchiving = "YES"
546+
buildForAnalyzing = "YES">
547+
<BuildableReference
548+
BuildableIdentifier = "primary"
549+
BlueprintIdentifier = "AmplifyFirehoseClient"
550+
BuildableName = "AmplifyFirehoseClient"
551+
BlueprintName = "AmplifyFirehoseClient"
552+
ReferencedContainer = "container:">
553+
</BuildableReference>
554+
</BuildActionEntry>
555+
<BuildActionEntry
556+
buildForTesting = "YES"
557+
buildForRunning = "YES"
558+
buildForProfiling = "YES"
559+
buildForArchiving = "YES"
560+
buildForAnalyzing = "YES">
561+
<BuildableReference
562+
BuildableIdentifier = "primary"
563+
BlueprintIdentifier = "AmplifyKinesisClient"
564+
BuildableName = "AmplifyKinesisClient"
565+
BlueprintName = "AmplifyKinesisClient"
566+
ReferencedContainer = "container:">
567+
</BuildableReference>
568+
</BuildActionEntry>
527569
</BuildActionEntries>
528570
</BuildAction>
529571
<TestAction
@@ -813,6 +855,56 @@
813855
ReferencedContainer = "container:">
814856
</BuildableReference>
815857
</TestableReference>
858+
<TestableReference
859+
skipped = "NO">
860+
<BuildableReference
861+
BuildableIdentifier = "primary"
862+
BlueprintIdentifier = "AmplifyConnectClientTests"
863+
BuildableName = "AmplifyConnectClientTests"
864+
BlueprintName = "AmplifyConnectClientTests"
865+
ReferencedContainer = "container:">
866+
</BuildableReference>
867+
</TestableReference>
868+
<TestableReference
869+
skipped = "NO">
870+
<BuildableReference
871+
BuildableIdentifier = "primary"
872+
BlueprintIdentifier = "AmplifyFirehoseClientTests"
873+
BuildableName = "AmplifyFirehoseClientTests"
874+
BlueprintName = "AmplifyFirehoseClientTests"
875+
ReferencedContainer = "container:">
876+
</BuildableReference>
877+
</TestableReference>
878+
<TestableReference
879+
skipped = "NO">
880+
<BuildableReference
881+
BuildableIdentifier = "primary"
882+
BlueprintIdentifier = "AmplifyKinesisClientTests"
883+
BuildableName = "AmplifyKinesisClientTests"
884+
BlueprintName = "AmplifyKinesisClientTests"
885+
ReferencedContainer = "container:">
886+
</BuildableReference>
887+
</TestableReference>
888+
<TestableReference
889+
skipped = "NO">
890+
<BuildableReference
891+
BuildableIdentifier = "primary"
892+
BlueprintIdentifier = "AmplifyRecordCacheTests"
893+
BuildableName = "AmplifyRecordCacheTests"
894+
BlueprintName = "AmplifyRecordCacheTests"
895+
ReferencedContainer = "container:">
896+
</BuildableReference>
897+
</TestableReference>
898+
<TestableReference
899+
skipped = "NO">
900+
<BuildableReference
901+
BuildableIdentifier = "primary"
902+
BlueprintIdentifier = "AmplifyConnectClientIntegrationTests"
903+
BuildableName = "AmplifyConnectClientIntegrationTests"
904+
BlueprintName = "AmplifyConnectClientIntegrationTests"
905+
ReferencedContainer = "container:">
906+
</BuildableReference>
907+
</TestableReference>
816908
</Testables>
817909
</TestAction>
818910
<LaunchAction
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "2600"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "AmplifyConnectClient"
19+
BuildableName = "AmplifyConnectClient"
20+
BlueprintName = "AmplifyConnectClient"
21+
ReferencedContainer = "container:">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
codeCoverageEnabled = "YES"
32+
onlyGenerateCoverageForSpecifiedTargets = "YES">
33+
<CodeCoverageTargets>
34+
<BuildableReference
35+
BuildableIdentifier = "primary"
36+
BlueprintIdentifier = "AmplifyConnectClient"
37+
BuildableName = "AmplifyConnectClient"
38+
BlueprintName = "AmplifyConnectClient"
39+
ReferencedContainer = "container:">
40+
</BuildableReference>
41+
</CodeCoverageTargets>
42+
<Testables>
43+
<TestableReference
44+
skipped = "NO">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "AmplifyConnectClientTests"
48+
BuildableName = "AmplifyConnectClientTests"
49+
BlueprintName = "AmplifyConnectClientTests"
50+
ReferencedContainer = "container:">
51+
</BuildableReference>
52+
</TestableReference>
53+
</Testables>
54+
</TestAction>
55+
<LaunchAction
56+
buildConfiguration = "Debug"
57+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
58+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59+
launchStyle = "0"
60+
useCustomWorkingDirectory = "NO"
61+
ignoresPersistentStateOnLaunch = "NO"
62+
debugDocumentVersioning = "YES"
63+
debugServiceExtension = "internal"
64+
allowLocationSimulation = "YES">
65+
</LaunchAction>
66+
<ProfileAction
67+
buildConfiguration = "Release"
68+
shouldUseLaunchSchemeArgsEnv = "YES"
69+
savedToolIdentifier = ""
70+
useCustomWorkingDirectory = "NO"
71+
debugDocumentVersioning = "YES">
72+
<MacroExpansion>
73+
<BuildableReference
74+
BuildableIdentifier = "primary"
75+
BlueprintIdentifier = "AmplifyConnectClient"
76+
BuildableName = "AmplifyConnectClient"
77+
BlueprintName = "AmplifyConnectClient"
78+
ReferencedContainer = "container:">
79+
</BuildableReference>
80+
</MacroExpansion>
81+
</ProfileAction>
82+
<AnalyzeAction
83+
buildConfiguration = "Debug">
84+
</AnalyzeAction>
85+
<ArchiveAction
86+
buildConfiguration = "Release"
87+
revealArchiveInOrganizer = "YES">
88+
</ArchiveAction>
89+
</Scheme>
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1640"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "AmplifyEventEnrichmentClient"
18+
BuildableName = "AmplifyEventEnrichmentClient"
19+
BlueprintName = "AmplifyEventEnrichmentClient"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
codeCoverageEnabled = "YES"
31+
onlyGenerateCoverageForSpecifiedTargets = "YES">
32+
<CodeCoverageTargets>
33+
<BuildableReference
34+
BuildableIdentifier = "primary"
35+
BlueprintIdentifier = "AmplifyEventEnrichmentClient"
36+
BuildableName = "AmplifyEventEnrichmentClient"
37+
BlueprintName = "AmplifyEventEnrichmentClient"
38+
ReferencedContainer = "container:">
39+
</BuildableReference>
40+
</CodeCoverageTargets>
41+
<Testables>
42+
<TestableReference
43+
skipped = "NO">
44+
<BuildableReference
45+
BuildableIdentifier = "primary"
46+
BlueprintIdentifier = "AmplifyEventEnrichmentClientTests"
47+
BuildableName = "AmplifyEventEnrichmentClientTests"
48+
BlueprintName = "AmplifyEventEnrichmentClientTests"
49+
ReferencedContainer = "container:">
50+
</BuildableReference>
51+
</TestableReference>
52+
</Testables>
53+
</TestAction>
54+
<LaunchAction
55+
buildConfiguration = "Debug"
56+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
57+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
58+
launchStyle = "0"
59+
useCustomWorkingDirectory = "NO"
60+
ignoresPersistentStateOnLaunch = "NO"
61+
debugDocumentVersioning = "YES"
62+
debugServiceExtension = "internal"
63+
allowLocationSimulation = "YES">
64+
</LaunchAction>
65+
<ProfileAction
66+
buildConfiguration = "Release"
67+
shouldUseLaunchSchemeArgsEnv = "YES"
68+
savedToolIdentifier = ""
69+
useCustomWorkingDirectory = "NO"
70+
debugDocumentVersioning = "YES">
71+
<MacroExpansion>
72+
<BuildableReference
73+
BuildableIdentifier = "primary"
74+
BlueprintIdentifier = "AmplifyEventEnrichmentClient"
75+
BuildableName = "AmplifyEventEnrichmentClient"
76+
BlueprintName = "AmplifyEventEnrichmentClient"
77+
ReferencedContainer = "container:">
78+
</BuildableReference>
79+
</MacroExpansion>
80+
</ProfileAction>
81+
<AnalyzeAction
82+
buildConfiguration = "Debug">
83+
</AnalyzeAction>
84+
<ArchiveAction
85+
buildConfiguration = "Release"
86+
revealArchiveInOrganizer = "YES">
87+
</ArchiveAction>
88+
</Scheme>

Amplify/Core/Configuration/AmplifyOutputsData.swift

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,25 @@ public struct AmplifyOutputsData: Codable {
232232
}
233233
}
234234

235+
/// Outputs for the notifications category.
236+
///
237+
/// The fields below describe an Amazon Pinpoint backend and are optional because
238+
/// `notifications` may be present without Pinpoint being configured — for example
239+
/// when only Amazon Connect is provisioned, the backend emits `notifications`
240+
/// containing just an `amazon_connect` block. Declaring these as non-optional
241+
/// made `Amplify.configure()` fail to decode such a configuration outright,
242+
/// preventing an app from using any category. Consumers must therefore check
243+
/// for the values they need; see `AWSPinpointPushNotificationsPlugin+Configure`.
235244
public struct Notifications: Codable {
236-
public let awsRegion: String
237-
public let amazonPinpointAppId: String
238-
public let channels: [AmazonPinpointChannelType]
245+
public let awsRegion: String?
246+
public let amazonPinpointAppId: String?
247+
public let channels: [AmazonPinpointChannelType]?
239248

240-
public init(awsRegion: String, amazonPinpointAppId: String, channels: [AmazonPinpointChannelType]) {
249+
public init(
250+
awsRegion: String? = nil,
251+
amazonPinpointAppId: String? = nil,
252+
channels: [AmazonPinpointChannelType]? = nil
253+
) {
241254
self.awsRegion = awsRegion
242255
self.amazonPinpointAppId = amazonPinpointAppId
243256
self.channels = channels

0 commit comments

Comments
 (0)