From 744f05d8ddb71d2b950c587865258193bcf02751 Mon Sep 17 00:00:00 2001 From: Andrii Vysotskyi Date: Wed, 2 Oct 2024 10:29:39 +0200 Subject: [PATCH] feat(ad-hoc): update documentation (#358) * Update documentation * Add missing UI deprecations in ProcessOut and UI modules --- Sources/ProcessOut/ProcessOut.docc/3DS.md | 21 +++++--- .../ProcessOut/ProcessOut.docc/ProcessOut.md | 27 +++++++++-- .../Api/Models/ProcessOutConfiguration.swift | 2 +- .../Sources/Legacy/ProcessOutLegacyApi.swift | 8 ++-- .../Error/CollectionViewErrorCell.swift | 1 + .../Radio/CollectionViewRadioCell.swift | 1 + .../CollectionViewSectionHeaderView.swift | 1 + .../Title/CollectionViewTitleCell.swift | 1 + .../UIActivityIndicatorView+Extensions.swift | 1 + .../Extensions/UIView+Style.swift | 2 + .../Styles/Input/POInputStateStyle.swift | 1 + .../Styles/Input/POInputStyle.swift | 2 + .../DesignSystem/Styles/POBorderStyle.swift | 2 + .../DesignSystem/Styles/POShadowStyle.swift | 2 + .../Typography/AttributedStringBuilder.swift | 2 + .../AttributedStringMarkdownVisitor.swift | 1 + .../DesignSystem/Typography/POTextStyle.swift | 1 + .../Typography/POTypography.swift | 2 + .../ActionsContainerView.swift | 1 + .../POActionsContainerStyle.swift | 1 + .../ActivityIndicatorViewFactory.swift | 1 + .../POActivityIndicatorStyle.swift | 1 + .../POActivityIndicatorView.swift | 1 + .../DesignSystem/Views/Button/Button.swift | 1 + .../Views/Button/POButtonStateStyle.swift | 1 + .../Views/Button/POButtonStyle.swift | 2 + .../Views/CodeTextField/CodeTextField.swift | 1 + .../CodeTextFieldComponentView.swift | 1 + .../CodeTextField/CodeTextFieldDelegate.swift | 1 + .../DesignSystem/Views/Picker/Picker.swift | 1 + .../PORadioButtonKnobStateStyle.swift | 1 + .../RadioButton/PORadioButtonStateStyle.swift | 1 + .../RadioButton/PORadioButtonStyle.swift | 2 + .../Views/RadioButton/RadioButton.swift | 1 + .../RadioButton/RadioButtonKnobView.swift | 1 + .../TextField/TextFieldContainerView.swift | 1 + .../ProcessOutCoreUI.docc/ProcessOutCoreUI.md | 4 +- .../ButtonStyle+POBrandButtonStyle.swift | 2 +- Sources/ProcessOutUI/ProcessOutUI.docc/3DS.md | 48 ------------------- .../ProcessOutUI.docc/CardUpdate.md | 2 +- .../NativeAlternativePayment.md | 2 +- .../ProcessOutUI.docc/ProcessOutUI.md | 26 +++++----- .../DynamicCheckoutDefaultInteractor.swift | 2 +- .../DefaultSafariViewModel.swift | 1 + .../POWebAuthenticationSession.swift | 1 + .../POWebAuthenticationSessionCallback.swift | 1 + .../SafariViewController+Extensions.swift | 1 + 47 files changed, 105 insertions(+), 83 deletions(-) diff --git a/Sources/ProcessOut/ProcessOut.docc/3DS.md b/Sources/ProcessOut/ProcessOut.docc/3DS.md index e5a5ede30..657a8c353 100644 --- a/Sources/ProcessOut/ProcessOut.docc/3DS.md +++ b/Sources/ProcessOut/ProcessOut.docc/3DS.md @@ -19,10 +19,17 @@ package. ### 3DS Redirect -Method ``PO3DSService/handle(redirect:completion:)`` is a part of 3DS service that is responsible for handling web -based redirects. - -We provide an extension of `SFSafariViewController` (defined in `ProcessOutUI` package) that can be used to create an -instance, capable of handling redirects. - -For additional details on 3DS UI see dedicated [documentation.](https://swiftpackageindex.com/processout/processout-ios/documentation/processoutui/3ds) +In order to handle redirects your application should support deep links. When application receives incoming URL you +should notify ProcessOut SDK so it has a chance to handle it. + +For example if you are using scene delegate it may look like following: + +```swift +func scene(_ scene: UIScene, openURLContexts urlContexts: Set) { + guard let url = urlContexts.first?.url else { + return +} +let isHandled = ProcessOut.shared.processDeepLink(url: url) +print(isHandled) +} +``` diff --git a/Sources/ProcessOut/ProcessOut.docc/ProcessOut.md b/Sources/ProcessOut/ProcessOut.docc/ProcessOut.md index 2ea7ff055..74c943bb6 100644 --- a/Sources/ProcessOut/ProcessOut.docc/ProcessOut.md +++ b/Sources/ProcessOut/ProcessOut.docc/ProcessOut.md @@ -17,6 +17,8 @@ ProcessOut.configure(configuration: configuration) - ``ProcessOut/ProcessOut`` - ``ProcessOutConfiguration`` +- ``ProcessOutApi`` +- ``ProcessOutApiConfiguration`` - - @@ -29,9 +31,14 @@ All errors that could happen as a result of interaction with the SDK are represe ### 3DS - -- ``PO3DSService`` +- ``PO3DS2Service`` - ``PO3DS2Configuration`` - ``PO3DS2ConfigurationCardScheme`` +- ``PO3DS2AuthenticationRequestParameters`` +- ``PO3DS2ChallengeParameters`` +- ``PO3DS2ChallengeResult`` +- ``PO3DSServiceType`` +- ``PO3DSService`` - ``PO3DS2AuthenticationRequest`` - ``PO3DS2Challenge`` - ``PO3DSRedirect`` @@ -49,12 +56,17 @@ All errors that could happen as a result of interaction with the SDK are represe - ``PONativeAlternativePaymentMethodEvent`` - ``PONativeAlternativePaymentMethodDelegate`` -### Alternative Payment Method +### Alternative Payments -- ``POAlternativePaymentMethodViewControllerBuilder`` +- ``POAlternativePaymentsService`` +- ``POAlternativePaymentAuthorizationRequest`` +- ``POAlternativePaymentTokenizationRequest`` +- ``POAlternativePaymentResponse`` - ``POAlternativePaymentMethodsService`` +- ``POAlternativePaymentMethodsServiceType`` - ``POAlternativePaymentMethodRequest`` - ``POAlternativePaymentMethodResponse`` +- ``POAlternativePaymentMethodViewControllerBuilder`` ### Cards @@ -70,12 +82,14 @@ All errors that could happen as a result of interaction with the SDK are represe - ``POCardIssuerInformation`` - ``POCardCvcCheck`` - ``POCardScheme`` +- ``POCardsServiceType`` ### Customer Tokens - ``POCustomerTokensService`` - ``POAssignCustomerTokenRequest`` - ``POCustomerToken`` +- ``POCustomerTokensServiceType`` ### Gateway Configurations @@ -84,6 +98,7 @@ All errors that could happen as a result of interaction with the SDK are represe - ``POAllGatewayConfigurationsRequest`` - ``POFindGatewayConfigurationRequest`` - ``POGatewayConfiguration`` +- ``POGatewayConfigurationsRepositoryType`` ### Invoices @@ -99,6 +114,7 @@ All errors that could happen as a result of interaction with the SDK are represe - ``PONativeAlternativePaymentMethodTransactionDetailsRequest`` - ``PONativeAlternativePaymentMethodParameterValues`` - ``PONativeAlternativePaymentMethodState`` +- ``POInvoicesServiceType`` ### Appearance @@ -119,6 +135,8 @@ Types that describe properties such as shadow and border. And style of higher le - ``POActivityIndicatorStyle`` - ``POActivityIndicatorView`` - ``POActionsContainerStyle`` +- ``POTextFieldStyle`` +- ``POActivityIndicatorViewType`` ### Images Utils @@ -140,6 +158,9 @@ Types that describe properties such as shadow and border. And style of higher le - ``POBillingAddressCollectionMode`` - ``PORepository`` - ``POService`` +- ``POCancellableType`` +- ``PORepositoryType`` +- ``POServiceType`` - ``POAutoAsync`` - ``POAutoCompletion`` diff --git a/Sources/ProcessOut/Sources/Api/Models/ProcessOutConfiguration.swift b/Sources/ProcessOut/Sources/Api/Models/ProcessOutConfiguration.swift index e033f92d7..92c7d3a95 100644 --- a/Sources/ProcessOut/Sources/Api/Models/ProcessOutConfiguration.swift +++ b/Sources/ProcessOut/Sources/Api/Models/ProcessOutConfiguration.swift @@ -11,7 +11,7 @@ import Foundation public typealias ProcessOutApiConfiguration = ProcessOutConfiguration /// Defines configuration parameters that are used to create API singleton. In order to create instance -/// of this structure one should use ``ProcessOutConfiguration/production(projectId:appVersion:isDebug:)`` +/// of this structure one should use ``ProcessOutConfiguration/init(projectId:application:isDebug:isTelemetryEnabled:)`` /// method. public struct ProcessOutConfiguration { diff --git a/Sources/ProcessOut/Sources/Legacy/ProcessOutLegacyApi.swift b/Sources/ProcessOut/Sources/Legacy/ProcessOutLegacyApi.swift index 13389f874..a9d4bdacf 100644 --- a/Sources/ProcessOut/Sources/Legacy/ProcessOutLegacyApi.swift +++ b/Sources/ProcessOut/Sources/Legacy/ProcessOutLegacyApi.swift @@ -364,7 +364,7 @@ public final class ProcessOutLegacyApi { /// Initiate a payment authorization from a previously generated invoice and card token /// /// - Parameters: - /// - AuthorizationRequest: contains all the necessary fields to initiate an authorisation request. + /// - request: contains all the necessary fields to initiate an authorisation request. /// - handler: Custom 3DS2 handler (please refer to our documentation for this) /// - with: UIViewController to display webviews and perform fingerprinting public static func makeCardPayment(AuthorizationRequest request: AuthorizationRequest, handler: ThreeDSHandler, with: UIViewController) { @@ -443,7 +443,7 @@ public final class ProcessOutLegacyApi { /// Initiate an incremental payment authorization from a previously generated invoice and card token /// /// - Parameters: - /// - AuthorizationRequest: contains all the necessary fields to initiate an authorisation request. + /// - request: contains all the necessary fields to initiate an authorisation request. /// - handler: Custom 3DS2 handler (please refer to our documentation for this) /// - with: UIViewController to display webviews and perform fingerprinting public static func makeIncrementalAuthorizationPayment(AuthorizationRequest request: AuthorizationRequest, handler: ThreeDSHandler, with: UIViewController) { @@ -502,7 +502,6 @@ public final class ProcessOutLegacyApi { /// Create a customer token from a card ID /// /// - Parameters: - /// - cardId: Card ID used for the customer token /// - customerId: Customer ID created in backend /// - tokenId: Token ID created in backend /// - handler: 3DS2 handler @@ -560,7 +559,6 @@ public final class ProcessOutLegacyApi { /// Create a customer token from a card ID /// /// - Parameters: - /// - cardId: Card ID used for the customer token /// - customerId: Customer ID created in backend /// - tokenId: Token ID created in backend /// - thirdPartySDKVersion: Version of the 3rd party SDK being used for the calls. Can be blank if unused @@ -620,7 +618,7 @@ public final class ProcessOutLegacyApi { /// Create a customer token from a card ID /// /// - Parameters: - /// - TokenRequest: contains all the fields necessary for the token request + /// - request: contains all the fields necessary for the token request /// - handler: 3DS2 handler /// - with: UIViewController to display webviews and perform fingerprinting public static func makeCardToken(TokenRequest request: TokenRequest, handler: ThreeDSHandler, with: UIViewController) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Error/CollectionViewErrorCell.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Error/CollectionViewErrorCell.swift index 5b27843c8..573644c9a 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Error/CollectionViewErrorCell.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Error/CollectionViewErrorCell.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class CollectionViewErrorCell: UICollectionViewCell { override init(frame: CGRect) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Radio/CollectionViewRadioCell.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Radio/CollectionViewRadioCell.swift index f057c0516..280bd4968 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Radio/CollectionViewRadioCell.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Radio/CollectionViewRadioCell.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class CollectionViewRadioCell: UICollectionViewCell { override init(frame: CGRect) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/SectionHeader/CollectionViewSectionHeaderView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/SectionHeader/CollectionViewSectionHeaderView.swift index f46567e07..30107abb1 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/SectionHeader/CollectionViewSectionHeaderView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/SectionHeader/CollectionViewSectionHeaderView.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class CollectionViewSectionHeaderView: UICollectionReusableView { override init(frame: CGRect) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Title/CollectionViewTitleCell.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Title/CollectionViewTitleCell.swift index 2309eed77..18a422c02 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Title/CollectionViewTitleCell.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/CollectionReusableViews/Title/CollectionViewTitleCell.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class CollectionViewTitleCell: UICollectionViewCell { override init(frame: CGRect) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIActivityIndicatorView+Extensions.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIActivityIndicatorView+Extensions.swift index 849948949..e0079db18 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIActivityIndicatorView+Extensions.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIActivityIndicatorView+Extensions.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) extension UIActivityIndicatorView: POActivityIndicatorView { public func setAnimating(_ isAnimating: Bool) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIView+Style.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIView+Style.swift index 16e11db90..2d6ad2fcd 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIView+Style.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Extensions/UIView+Style.swift @@ -10,6 +10,7 @@ import UIKit extension UIView { /// Applies given border style to view's layer. + @available(*, deprecated) func apply(style: POBorderStyle) { layer.cornerRadius = style.radius layer.borderWidth = style.width @@ -17,6 +18,7 @@ extension UIView { } /// Applies given shadow style to view's layer. + @available(*, deprecated) func apply(style: POShadowStyle, shadowOpacity: CGFloat = 1) { layer.shadowColor = style.color.cgColor layer.shadowOpacity = Float(shadowOpacity) diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStateStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStateStyle.swift index 1a3728988..0c45c8423 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStateStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStateStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Defines input's styling information in a specific state. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POInputStateStyle { /// Text style. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStyle.swift index fe793f804..0c20a3717 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/Input/POInputStyle.swift @@ -11,6 +11,7 @@ import UIKit public typealias POTextFieldStyle = POInputStyle /// Defines input control style in both normal and error states. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POInputStyle { /// Style for normal state. @@ -26,6 +27,7 @@ public struct POInputStyle { } } +@available(*, deprecated) extension POInputStyle { /// Allows to create default input style with given typography. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POBorderStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POBorderStyle.swift index 49c5a00c0..679175742 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POBorderStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POBorderStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Style that defines border appearance. Border is always a solid line. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POBorderStyle { /// Corner radius. @@ -26,6 +27,7 @@ public struct POBorderStyle { } } +@available(*, deprecated) extension POBorderStyle { /// Clear border of specified radius. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POShadowStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POShadowStyle.swift index 2bc326bcb..77fc22a38 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POShadowStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Styles/POShadowStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Style that defines shadow appearance. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POShadowStyle { /// The color of the shadow. @@ -26,6 +27,7 @@ public struct POShadowStyle { } } +@available(*, deprecated) extension POShadowStyle { /// Value represents no shadow. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringBuilder.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringBuilder.swift index 629f9272f..5f0e5a9a9 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringBuilder.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringBuilder.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) struct AttributedStringBuilder { enum Text { @@ -118,6 +119,7 @@ struct AttributedStringBuilder { } } +@available(*, deprecated) extension AttributedStringBuilder { func with(updates: (inout AttributedStringBuilder) -> Void) -> AttributedStringBuilder { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringMarkdownVisitor.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringMarkdownVisitor.swift index 2b245bb1a..4af7303a2 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringMarkdownVisitor.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/AttributedStringMarkdownVisitor.swift @@ -8,6 +8,7 @@ import Foundation import UIKit +@available(*, deprecated) final class AttributedStringMarkdownVisitor: MarkdownVisitor { init(builder: AttributedStringBuilder, level: Int = 0) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTextStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTextStyle.swift index e37cacad5..befdd1f4d 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTextStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTextStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Text style. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POTextStyle { /// Text foreground color. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTypography.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTypography.swift index cb2ee3189..da12808f0 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTypography.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Typography/POTypography.swift @@ -8,6 +8,7 @@ import UIKit /// Holds typesetting information that could be applied to displayed text. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POTypography { /// Font associated with given typography. @@ -48,6 +49,7 @@ public struct POTypography { } } +@available(*, deprecated) extension POTypography { enum Fixed { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/ActionsContainerView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/ActionsContainerView.swift index 53a579b42..9830d1ce7 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/ActionsContainerView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/ActionsContainerView.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class ActionsContainerView: UIView { init(style: POActionsContainerStyle, horizontalInset: CGFloat) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/POActionsContainerStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/POActionsContainerStyle.swift index a86fcb7e4..a235b220f 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/POActionsContainerStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActionsContainer/POActionsContainerStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Actions container style. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POActionsContainerStyle { /// Style for primary button. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/ActivityIndicatorViewFactory.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/ActivityIndicatorViewFactory.swift index a07913913..583dbc64d 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/ActivityIndicatorViewFactory.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/ActivityIndicatorViewFactory.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class ActivityIndicatorViewFactory { func create(style: POActivityIndicatorStyle) -> POActivityIndicatorView { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorStyle.swift index 7f38e4f27..aab895571 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Possible activity indicator styles. +@available(*, deprecated, message: "Use ProcessOutUI module.") public enum POActivityIndicatorStyle { /// Custom activity indicator. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorView.swift index b42b82c8d..2ba37bc24 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/ActivityIndicator/POActivityIndicatorView.swift @@ -12,6 +12,7 @@ public typealias POActivityIndicatorViewType = POActivityIndicatorView /// Protocol that activity indicator should conform to in order to be used with /// ``POActivityIndicatorStyle`` custom style. +@available(*, deprecated, message: "Use ProcessOutUI module.") public protocol POActivityIndicatorView: UIView { /// Changes animation state. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/Button.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/Button.swift index c067aa105..74267caff 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/Button.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/Button.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class Button: UIControl { struct ViewModel { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStateStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStateStyle.swift index d636dd192..e4c2040be 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStateStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStateStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Defines button's styling information in a specific state. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POButtonStateStyle { /// Text typography. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStyle.swift index 05e7a91c7..8c83d8963 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Button/POButtonStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Defines button style in all possible states. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct POButtonStyle { /// Style for normal state. @@ -35,6 +36,7 @@ public struct POButtonStyle { } } +@available(*, deprecated) extension POButtonStyle { /// Default style for primary button. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextField.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextField.swift index 5f44c92e5..a0dfb8506 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextField.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextField.swift @@ -9,6 +9,7 @@ import UIKit // swiftlint:disable file_length type_body_length unused_setter_value +@available(*, deprecated) final class CodeTextField: UIControl, UITextInput { init(length: Int) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldComponentView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldComponentView.swift index 24e553bdb..ced642e57 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldComponentView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldComponentView.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class CodeTextFieldComponentView: UIView { struct ViewModel { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldDelegate.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldDelegate.swift index 0d81b96d1..06fa230c9 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldDelegate.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/CodeTextField/CodeTextFieldDelegate.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) protocol CodeTextFieldDelegate: AnyObject { /// Asks the delegate whether to begin editing in the specified text field. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Picker/Picker.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Picker/Picker.swift index 6052c44fc..d32b5628f 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Picker/Picker.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/Picker/Picker.swift @@ -8,6 +8,7 @@ import UIKit // todo(andrii-vysotskyi): add placeholder +@available(*, deprecated) final class Picker: UIControl { init() { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonKnobStateStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonKnobStateStyle.swift index 197fe377e..e6e7d83b8 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonKnobStateStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonKnobStateStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Describes radio button knob style in a particular state. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct PORadioButtonKnobStateStyle { /// Background color. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStateStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStateStyle.swift index 0fa7ed2e5..91633de73 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStateStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStateStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Describes radio button style in a particular state, for example when selected. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct PORadioButtonStateStyle { /// Styling of the radio button knob not including value. diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStyle.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStyle.swift index fdc5096bc..e1861a73f 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStyle.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/PORadioButtonStyle.swift @@ -8,6 +8,7 @@ import UIKit /// Describes radio button style in different states. +@available(*, deprecated, message: "Use ProcessOutUI module.") public struct PORadioButtonStyle { /// Style to use when radio button is in default state ie enabled and not selected. @@ -37,6 +38,7 @@ public struct PORadioButtonStyle { } } +@available(*, deprecated) extension PORadioButtonStyle { static let `default` = PORadioButtonStyle( diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButton.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButton.swift index 3192bcce3..5fd90877b 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButton.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButton.swift @@ -9,6 +9,7 @@ import Foundation import UIKit // todo(andrii-vysotskyi): respond to `isSelected` changes. +@available(*, deprecated) final class RadioButton: UIControl { init() { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButtonKnobView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButtonKnobView.swift index 3ba377b40..ce93522aa 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButtonKnobView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/RadioButton/RadioButtonKnobView.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class RadioButtonKnobView: UIView { init(size: CGFloat) { diff --git a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/TextField/TextFieldContainerView.swift b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/TextField/TextFieldContainerView.swift index 4b791d239..6c5daa8cb 100644 --- a/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/TextField/TextFieldContainerView.swift +++ b/Sources/ProcessOut/Sources/UI/Shared/DesignSystem/Views/TextField/TextFieldContainerView.swift @@ -7,6 +7,7 @@ import UIKit +@available(*, deprecated) final class TextFieldContainerView: UIView { init() { diff --git a/Sources/ProcessOutCoreUI/ProcessOutCoreUI.docc/ProcessOutCoreUI.md b/Sources/ProcessOutCoreUI/ProcessOutCoreUI.docc/ProcessOutCoreUI.md index 5dc3bc900..9a0b2ccb1 100644 --- a/Sources/ProcessOutCoreUI/ProcessOutCoreUI.docc/ProcessOutCoreUI.md +++ b/Sources/ProcessOutCoreUI/ProcessOutCoreUI.docc/ProcessOutCoreUI.md @@ -16,7 +16,7 @@ - ``POButtonStyle`` - ``POButtonStateStyle`` -- ``SwiftUI/EnvironmentValues/isButtonLoading`` +- ``SwiftUICore/EnvironmentValues/isButtonLoading`` - ``POButtonStyle/primary`` - ``POButtonStyle/secondary`` - ``POBrandButtonStyle`` @@ -28,7 +28,7 @@ - ``PORadioButtonStyle`` - ``PORadioButtonStateStyle`` - ``PORadioButtonKnobStateStyle`` -- ``SwiftUI/EnvironmentValues/isRadioButtonSelected`` +- ``SwiftUICore/EnvironmentValues/isRadioButtonSelected`` - ``PORadioButtonStyle/radio`` ### Checkbox diff --git a/Sources/ProcessOutCoreUI/Sources/DesignSystem/Button/Brand/ButtonStyle+POBrandButtonStyle.swift b/Sources/ProcessOutCoreUI/Sources/DesignSystem/Button/Brand/ButtonStyle+POBrandButtonStyle.swift index f3a0dd6d5..3b36dee47 100644 --- a/Sources/ProcessOutCoreUI/Sources/DesignSystem/Button/Brand/ButtonStyle+POBrandButtonStyle.swift +++ b/Sources/ProcessOutCoreUI/Sources/DesignSystem/Button/Brand/ButtonStyle+POBrandButtonStyle.swift @@ -10,7 +10,7 @@ import SwiftUI @available(iOS 14, *) extension ButtonStyle where Self == POBrandButtonStyle { - /// Simple style that changes its appearance based on brand color ``SwiftUI/EnvironmentValues/poButtonBrandColor``. + /// Simple style that changes its appearance based on brand color ``SwiftUICore/EnvironmentValues/poButtonBrandColor``. @_disfavoredOverload public static var brand: POBrandButtonStyle { POBrandButtonStyle( diff --git a/Sources/ProcessOutUI/ProcessOutUI.docc/3DS.md b/Sources/ProcessOutUI/ProcessOutUI.docc/3DS.md index 85513b925..d02b91939 100644 --- a/Sources/ProcessOutUI/ProcessOutUI.docc/3DS.md +++ b/Sources/ProcessOutUI/ProcessOutUI.docc/3DS.md @@ -4,51 +4,3 @@ ``POTest3DSService`` emulates the normal 3DS authentication flow but does not actually make any calls to a real Access Control Server (ACS). It is mainly useful during development in our sandbox testing environment. - -### 3DS Redirect - -``SafariServices/SFSafariViewController/init(redirect:returnUrl:safariConfiguration:completion:)`` allows you to create -a view controller that will automatically redirect user to expected url and collect result. - -```swift -func handle(redirect: PO3DSRedirect, completion: @escaping (Result) -> Void) { - let viewController = SFSafariViewController( - redirect: redirect, - returnUrl: Constants.returnUrl, - completion: { [weak sourceViewController] result in - sourceViewController?.dismiss(animated: true) - completion(result) - } - ) - sourceViewController.present(viewController, animated: true) -} -``` - -When using `SFSafariViewController` your application should support deep links. When -application receives incoming URL you should allow ProcessOut SDK to handle it. For example -if you are using scene delegate it may look like following: - -```swift -func scene(_ scene: UIScene, openURLContexts urlContexts: Set) { - guard let url = urlContexts.first?.url else { - return - } - let isHandled = ProcessOut.shared.processDeepLink(url: url) - print(isHandled) -} -``` - -We also provide ``POWebAuthenticationSession`` that can handle 3DS Redirects and does not depend on the UIKit framework. -This means that the controller can be used in places where a view controller cannot (for example, in SwiftUI -applications). - -```swift -let session = POWebAuthenticationSession( - redirect: redirect, returnUrl: Constants.returnUrl, completion: completion -) -if await session.start() { - return -} -let failure = POFailure(message: "Unable to process redirect", code: .generic(.mobile)) -completion(.failure(failure)) -``` diff --git a/Sources/ProcessOutUI/ProcessOutUI.docc/CardUpdate.md b/Sources/ProcessOutUI/ProcessOutUI.docc/CardUpdate.md index b41262d3d..a9df44568 100644 --- a/Sources/ProcessOutUI/ProcessOutUI.docc/CardUpdate.md +++ b/Sources/ProcessOutUI/ProcessOutUI.docc/CardUpdate.md @@ -43,7 +43,7 @@ See ``POCardUpdateConfiguration`` reference for other available configurations. In order to tweak view’s styling, you should create an instance of ``POCardUpdateStyle`` structure and pass it to view. The way you set style depends on whether you are using SwiftUI or UIKit bindings. For view controller -pass style instance via init, for SwiftUI view you can use ``SwiftUI/View/cardUpdateStyle(_:)`` modifier. +pass style instance via init, for SwiftUI view you can use ``SwiftUICore/View/cardUpdateStyle(_:)`` modifier. ### Errors Recovery diff --git a/Sources/ProcessOutUI/ProcessOutUI.docc/NativeAlternativePayment.md b/Sources/ProcessOutUI/ProcessOutUI.docc/NativeAlternativePayment.md index 52bc7b7d9..b440089c5 100644 --- a/Sources/ProcessOutUI/ProcessOutUI.docc/NativeAlternativePayment.md +++ b/Sources/ProcessOutUI/ProcessOutUI.docc/NativeAlternativePayment.md @@ -40,7 +40,7 @@ and alter run-time behaviors. In order to tweak view’s styling, you should create an instance of ``PONativeAlternativePaymentStyle`` structure and pass it to view. The way you set style depends on whether you are using SwiftUI or UIKit bindings. For view -controller pass style instance via init, for SwiftUI view you should use ``SwiftUI/View/nativeAlternativePaymentStyle(_:)`` +controller pass style instance via init, for SwiftUI view you should use ``SwiftUICore/View/nativeAlternativePaymentStyle(_:)`` modifier. Let's say you want to change pay button's appearance: diff --git a/Sources/ProcessOutUI/ProcessOutUI.docc/ProcessOutUI.md b/Sources/ProcessOutUI/ProcessOutUI.docc/ProcessOutUI.md index 232008121..04a91fa42 100644 --- a/Sources/ProcessOutUI/ProcessOutUI.docc/ProcessOutUI.md +++ b/Sources/ProcessOutUI/ProcessOutUI.docc/ProcessOutUI.md @@ -9,34 +9,29 @@ ### 3DS - +- ``POTest3DSService`` - ``SafariServices/SFSafariViewController/init(redirect:returnUrl:safariConfiguration:completion:)`` - ``POWebAuthenticationSession/init(redirect:returnUrl:completion:)`` - ``PO3DSRedirectController`` -- ``POTest3DSService`` ### Card Tokenization - ``POCardTokenizationView`` - ``POCardTokenizationViewController`` - ``POCardTokenizationStyle`` -- ``SwiftUI/View/cardTokenizationStyle(_:)`` +- ``SwiftUICore/View/cardTokenizationStyle(_:)`` - ``POCardTokenizationConfiguration`` - ``POBillingAddressConfiguration`` - ``POCardTokenizationDelegate`` - ``POCardTokenizationEvent`` -### Apple Pay - -- ``POPassKitPaymentAuthorizationController`` -- ``POPassKitPaymentAuthorizationControllerDelegate`` - ### Card Update - - ``POCardUpdateView`` - ``POCardUpdateViewController`` - ``POCardUpdateStyle`` -- ``SwiftUI/View/cardUpdateStyle(_:)`` +- ``SwiftUICore/View/cardUpdateStyle(_:)`` - ``POCardUpdateConfiguration`` - ``POCardUpdateDelegate`` - ``POCardUpdateInformation`` @@ -56,7 +51,7 @@ - ``PONativeAlternativePaymentViewController`` - ``PONativeAlternativePaymentStyle`` - ``PONativeAlternativePaymentBackgroundStyle`` -- ``SwiftUI/View/nativeAlternativePaymentStyle(_:)`` +- ``SwiftUICore/View/nativeAlternativePaymentStyle(_:)`` - ``PONativeAlternativePaymentConfiguration`` - ``PONativeAlternativePaymentConfirmationConfiguration`` - ``PONativeAlternativePaymentDelegate`` @@ -76,11 +71,16 @@ +### Utils + +- ``POConfirmationDialogConfiguration`` + +### Apple Pay + +- ``POPassKitPaymentAuthorizationController`` +- ``POPassKitPaymentAuthorizationControllerDelegate`` + ### Web Authentication - ``POWebAuthenticationSession`` - ``POWebAuthenticationSessionCallback`` - -### Utils - -- ``POConfirmationDialogConfiguration`` diff --git a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckoutDefaultInteractor.swift b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckoutDefaultInteractor.swift index 4905a5c03..b7860385b 100644 --- a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckoutDefaultInteractor.swift +++ b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckoutDefaultInteractor.swift @@ -412,7 +412,7 @@ final class DynamicCheckoutDefaultInteractor: switch state { case .idle: break // Ignored - case .started(let startedState): + case .started: currentState.isCancellable = currentState.snapshot.isCancellable self.state = .paymentProcessing(currentState) case .tokenizing: diff --git a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/DefaultSafariViewModel.swift b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/DefaultSafariViewModel.swift index c81fbe579..5b424f7cf 100644 --- a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/DefaultSafariViewModel.swift +++ b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/DefaultSafariViewModel.swift @@ -9,6 +9,7 @@ import Foundation import SafariServices @_spi(PO) import ProcessOut +@available(*, deprecated, message: "Web authentications are handled internally.") final class DefaultSafariViewModel: NSObject, SFSafariViewControllerDelegate { init( diff --git a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSession.swift b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSession.swift index 0a4be1baa..e607474e6 100644 --- a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSession.swift +++ b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSession.swift @@ -10,6 +10,7 @@ import AuthenticationServices @_spi(PO) import ProcessOut /// A session that an app uses to authenticate a payment. +@available(*, deprecated, message: "Web authentications are handled internally.") public final class POWebAuthenticationSession { /// A completion handler for the web authentication session. diff --git a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSessionCallback.swift b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSessionCallback.swift index fb0368c13..e89f13b11 100644 --- a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSessionCallback.swift +++ b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/POWebAuthenticationSessionCallback.swift @@ -8,6 +8,7 @@ import Foundation /// An object used to evaluate navigation events in an authentication session. +@available(*, deprecated, message: "Web authentications are handled internally.") public struct POWebAuthenticationSessionCallback: @unchecked Sendable { /// Creates a callback object that matches against URLs with the given custom scheme. diff --git a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/SafariViewController+Extensions.swift b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/SafariViewController+Extensions.swift index bccff14ca..b4efe26ca 100644 --- a/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/SafariViewController+Extensions.swift +++ b/Sources/ProcessOutUI/Sources/Modules/WebAuthentication/SafariViewController+Extensions.swift @@ -7,6 +7,7 @@ import SafariServices +@available(*, deprecated, message: "Web authentications are handled internally.") extension SFSafariViewController { func setViewModel(_ viewModel: DefaultSafariViewModel) {