diff --git a/AmplifyPlugins/Auth/Sources/AWSCognitoAuthPlugin/ASF/ASFAppInfo.swift b/AmplifyPlugins/Auth/Sources/AWSCognitoAuthPlugin/ASF/ASFAppInfo.swift index cdf1f9b8d0..c092fa05d1 100644 --- a/AmplifyPlugins/Auth/Sources/AWSCognitoAuthPlugin/ASF/ASFAppInfo.swift +++ b/AmplifyPlugins/Auth/Sources/AWSCognitoAuthPlugin/ASF/ASFAppInfo.swift @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // +import AmplifyAvailability import Foundation struct ASFAppInfo: ASFAppInfoBehavior { @@ -16,9 +17,9 @@ struct ASFAppInfo: ASFAppInfoBehavior { var targetSDK: String { var targetSDK: String = "" #if os(iOS) || os(watchOS) || os(tvOS) - targetSDK = "\(__IPHONE_OS_VERSION_MIN_REQUIRED)" + targetSDK = "\(getIOSVersionMinRequired())" #elseif os(macOS) - targetSDK = "\(__MAC_OS_X_VERSION_MIN_REQUIRED)" + targetSDK = "\(getMACOSXVersionMinRequired())" #else targetSDK = "Unknown" #endif diff --git a/AmplifyPlugins/Auth/Sources/AmplifyAvailability/AmplityAvailability.c b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/AmplityAvailability.c new file mode 100644 index 0000000000..74fb7cfb29 --- /dev/null +++ b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/AmplityAvailability.c @@ -0,0 +1,21 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +#include "include/AmplifyAvailability.h" +#include + +#if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV +int getIOSVersionMinRequired(void) { + return __IPHONE_OS_VERSION_MIN_REQUIRED; +} +#endif + +#if TARGET_OS_OSX +int getMACOSXVersionMinRequired(void) { + return __MAC_OS_X_VERSION_MIN_REQUIRED; +} +#endif diff --git a/AmplifyPlugins/Auth/Sources/AmplifyAvailability/include/AmplifyAvailability.h b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/include/AmplifyAvailability.h new file mode 100644 index 0000000000..20ab55b8f7 --- /dev/null +++ b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/include/AmplifyAvailability.h @@ -0,0 +1,21 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +#ifndef AmplifyAvailability_h +#define AmplifyAvailability_h + +#include + +#if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV +int getIOSVersionMinRequired(void); +#endif + +#if TARGET_OS_OSX +int getMACOSXVersionMinRequired(void); +#endif + +#endif /* AmplifyAvailability_h */ diff --git a/AmplifyPlugins/Auth/Sources/AmplifyAvailability/module.modulemap b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/module.modulemap new file mode 100644 index 0000000000..2ea9f165fd --- /dev/null +++ b/AmplifyPlugins/Auth/Sources/AmplifyAvailability/module.modulemap @@ -0,0 +1,4 @@ +module AmplifyAvailability { + header "include/AmplifyAvailability.h" + export * +} diff --git a/Package.swift b/Package.swift index 39a926ec74..dda063d628 100644 --- a/Package.swift +++ b/Package.swift @@ -179,6 +179,7 @@ let authTargets: [Target] = [ name: "AWSCognitoAuthPlugin", dependencies: [ .target(name: "Amplify"), + .target(name: "AmplifyAvailability"), .target(name: "AmplifySRP"), .target(name: "AWSPluginsCore"), .target(name: "InternalAmplifyCredentials"), @@ -191,6 +192,11 @@ let authTargets: [Target] = [ .copy("Resources/PrivacyInfo.xcprivacy") ] ), + .target( + name: "AmplifyAvailability", + path: "AmplifyPlugins/Auth/Sources/AmplifyAvailability", + publicHeadersPath: "include" + ), .target( name: "libtommathAmplify", path: "AmplifyPlugins/Auth/Sources/libtommath",