From d389a4c7862e7610dbf8bb1f8bbfd62edd7b723a Mon Sep 17 00:00:00 2001 From: Jax DesMarais-Leder Date: Mon, 2 Dec 2024 13:24:52 -0600 Subject: [PATCH 1/7] update deviceIdentifier to save to keychain as expected (#1472) --- Sources/BraintreeDataCollector/BTDataCollector.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Sources/BraintreeDataCollector/BTDataCollector.swift b/Sources/BraintreeDataCollector/BTDataCollector.swift index 097588f2fa..02d6f18cdb 100644 --- a/Sources/BraintreeDataCollector/BTDataCollector.swift +++ b/Sources/BraintreeDataCollector/BTDataCollector.swift @@ -147,15 +147,14 @@ import BraintreeCore var item: CFTypeRef? let status = SecItemCopyMatching(query as CFDictionary, &item) if status == errSecSuccess, - let existingItem = item as? [String: Any], - let data = existingItem[kSecValueData as String] as? Data, - let identifier = String(data: data, encoding: String.Encoding.utf8) { + let data = item as? Data, + let identifier = String(data: data, encoding: .utf8) { return identifier } // If not, generate a new one and save it let newIdentifier = UUID().uuidString - query[kSecValueData as String] = newIdentifier + query[kSecValueData as String] = newIdentifier.data(using: .utf8) query[kSecAttrAccessible as String] = kSecAttrAccessibleWhenUnlockedThisDeviceOnly SecItemAdd(query as CFDictionary, nil) return newIdentifier From 9e85da3f6f778afaa65cc9c073b2fc686ea139c6 Mon Sep 17 00:00:00 2001 From: Jax DesMarais-Leder Date: Tue, 3 Dec 2024 14:30:51 -0600 Subject: [PATCH 2/7] Add URL to PayPal App Switch Events (#1477) * Add url to appSwitchSucceeded and appSwitchFailed events --- CHANGELOG.md | 1 + Sources/BraintreePayPal/BTPayPalClient.swift | 46 ++++++++++--------- .../BTPayPalClient_Tests.swift | 18 ++++++++ 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 156f060520..56799e4e79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## unreleased * BraintreePayPal * Add `BTPayPalRequest.userPhoneNumber` optional property + * Send `url` in `event_params` for App Switch events to PayPal's analytics service (FPTI) * BraintreeVenmo * Send `url` in `event_params` for App Switch events to PayPal's analytics service (FPTI) diff --git a/Sources/BraintreePayPal/BTPayPalClient.swift b/Sources/BraintreePayPal/BTPayPalClient.swift index 0362ed1597..9d5ee0e8e5 100644 --- a/Sources/BraintreePayPal/BTPayPalClient.swift +++ b/Sources/BraintreePayPal/BTPayPalClient.swift @@ -284,6 +284,29 @@ import BraintreeDataCollector performSwitchRequest(appSwitchURL: url, paymentType: paymentType, completion: completion) } + func invokedOpenURLSuccessfully(_ success: Bool, url: URL, completion: @escaping (BTPayPalAccountNonce?, Error?) -> Void) { + if success { + apiClient.sendAnalyticsEvent( + BTPayPalAnalytics.appSwitchSucceeded, + isVaultRequest: isVaultRequest, + linkType: linkType, + payPalContextID: payPalContextID, + appSwitchURL: url + ) + BTPayPalClient.payPalClient = self + appSwitchCompletion = completion + } else { + apiClient.sendAnalyticsEvent( + BTPayPalAnalytics.appSwitchFailed, + isVaultRequest: isVaultRequest, + linkType: linkType, + payPalContextID: payPalContextID, + appSwitchURL: url + ) + notifyFailure(with: BTPayPalError.appSwitchFailed, completion: completion) + } + } + // MARK: - App Switch Methods func handleReturnURL(_ url: URL) { @@ -404,28 +427,7 @@ import BraintreeDataCollector } application.open(redirectURL) { success in - self.invokedOpenURLSuccessfully(success, completion: completion) - } - } - - private func invokedOpenURLSuccessfully(_ success: Bool, completion: @escaping (BTPayPalAccountNonce?, Error?) -> Void) { - if success { - apiClient.sendAnalyticsEvent( - BTPayPalAnalytics.appSwitchSucceeded, - isVaultRequest: isVaultRequest, - linkType: linkType, - payPalContextID: payPalContextID - ) - BTPayPalClient.payPalClient = self - appSwitchCompletion = completion - } else { - apiClient.sendAnalyticsEvent( - BTPayPalAnalytics.appSwitchFailed, - isVaultRequest: isVaultRequest, - linkType: linkType, - payPalContextID: payPalContextID - ) - notifyFailure(with: BTPayPalError.appSwitchFailed, completion: completion) + self.invokedOpenURLSuccessfully(success, url: redirectURL, completion: completion) } } diff --git a/UnitTests/BraintreePayPalTests/BTPayPalClient_Tests.swift b/UnitTests/BraintreePayPalTests/BTPayPalClient_Tests.swift index 7fff4ad489..787e9ef356 100644 --- a/UnitTests/BraintreePayPalTests/BTPayPalClient_Tests.swift +++ b/UnitTests/BraintreePayPalTests/BTPayPalClient_Tests.swift @@ -982,6 +982,24 @@ class BTPayPalClient_Tests: XCTestCase { XCTAssertNil(lastPostParameters["merchant_app_return_url"] as? String) } + func testInvokedOpenURLSuccessfully_whenSuccess_sendsAppSwitchSucceededWithAppSwitchURL() { + let eventName = BTPayPalAnalytics.appSwitchSucceeded + let fakeURL = URL(string: "some-url")! + payPalClient.invokedOpenURLSuccessfully(true, url: fakeURL) { _, _ in } + + XCTAssertEqual(mockAPIClient.postedAnalyticsEvents.last!, eventName) + XCTAssertEqual(mockAPIClient.postedAppSwitchURL[eventName], fakeURL.absoluteString) + } + + func testInvokedOpenURLSuccessfully_whenFailure_sendsAppSwitchFailedWithAppSwitchURL() { + let eventName = BTPayPalAnalytics.appSwitchFailed + let fakeURL = URL(string: "some-url")! + payPalClient.invokedOpenURLSuccessfully(false, url: fakeURL) { _, _ in } + + XCTAssertEqual(mockAPIClient.postedAnalyticsEvents.first!, eventName) + XCTAssertEqual(mockAPIClient.postedAppSwitchURL[eventName], fakeURL.absoluteString) + } + // MARK: - Analytics func testAPIClientMetadata_hasIntegrationSetToCustom() { From 3c6f29198dacd43d1a6659c2ebdf3620280ed79d Mon Sep 17 00:00:00 2001 From: Jax DesMarais-Leder Date: Wed, 4 Dec 2024 11:01:33 -0600 Subject: [PATCH 3/7] Venmo Universal Link Return (#1440) * Add BTVenmoClient(apiClient:universalLink:) to use Universal Links when redirecting back from the Venmo flow * Update Demo App * Update Unit Tests Co-authored-by: Sammy Cannillo --- CHANGELOG.md | 3 +++ .../Features/VenmoViewController.swift | 18 ++++++++++++++---- .../BraintreeCore/BTAppContextSwitcher.swift | 17 ++++++++++++++++- .../BTVenmoAppSwitchRedirectURL.swift | 16 ++++++++++++---- .../BTVenmoAppSwitchReturnURL.swift | 9 +++++---- Sources/BraintreeVenmo/BTVenmoClient.swift | 19 ++++++++++++++++--- .../BTVenmoAppSwitchRedirectURL_Tests.swift | 15 +++++++++------ 7 files changed, 75 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56799e4e79..7aadca02b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ * Send `url` in `event_params` for App Switch events to PayPal's analytics service (FPTI) * BraintreeVenmo * Send `url` in `event_params` for App Switch events to PayPal's analytics service (FPTI) + * Add `BTVenmoClient(apiClient:universalLink:)` to use Universal Links when redirecting back from the Venmo flow +* BraintreeCore + * Deprecate `BTAppContextSwitcher.sharedInstance.returnURLScheme` ## 6.24.0 (2024-10-15) * BraintreePayPal diff --git a/Demo/Application/Features/VenmoViewController.swift b/Demo/Application/Features/VenmoViewController.swift index 0b6537f168..1668872139 100644 --- a/Demo/Application/Features/VenmoViewController.swift +++ b/Demo/Application/Features/VenmoViewController.swift @@ -2,14 +2,16 @@ import UIKit import BraintreeVenmo class VenmoViewController: PaymentButtonBaseViewController { - + // swiftlint:disable:next implicitly_unwrapped_optional var venmoClient: BTVenmoClient! let webFallbackToggle = Toggle(title: "Enable Web Fallback") let vaultToggle = Toggle(title: "Vault") - + let universalLinkReturnToggle = Toggle(title: "Use Universal Link Return") + override func viewDidLoad() { + super.heightConstraint = 150 super.viewDidLoad() venmoClient = BTVenmoClient(apiClient: apiClient) title = "Custom Venmo Button" @@ -18,7 +20,7 @@ class VenmoViewController: PaymentButtonBaseViewController { override func createPaymentButton() -> UIView { let venmoButton = createButton(title: "Venmo", action: #selector(tappedVenmo)) - let stackView = UIStackView(arrangedSubviews: [webFallbackToggle, vaultToggle, venmoButton]) + let stackView = UIStackView(arrangedSubviews: [webFallbackToggle, vaultToggle, universalLinkReturnToggle, venmoButton]) stackView.axis = .vertical stackView.spacing = 15 stackView.alignment = .fill @@ -40,7 +42,15 @@ class VenmoViewController: PaymentButtonBaseViewController { if vaultToggle.isOn { venmoRequest.vault = true } - + + if universalLinkReturnToggle.isOn { + venmoClient = BTVenmoClient( + apiClient: apiClient, + // swiftlint:disable:next force_unwrapping + universalLink: URL(string: "https://mobile-sdk-demo-site-838cead5d3ab.herokuapp.com/braintree-payments")! + ) + } + Task { do { let venmoAccount = try await venmoClient.tokenize(venmoRequest) diff --git a/Sources/BraintreeCore/BTAppContextSwitcher.swift b/Sources/BraintreeCore/BTAppContextSwitcher.swift index db875e268d..1ea5738eff 100644 --- a/Sources/BraintreeCore/BTAppContextSwitcher.swift +++ b/Sources/BraintreeCore/BTAppContextSwitcher.swift @@ -14,7 +14,22 @@ import UIKit /// The URL scheme to return to this app after switching to another app or opening a SFSafariViewController. /// This URL scheme must be registered as a URL Type in the app's info.plist, and it must start with the app's bundle ID. /// - Note: This property should only be used for the Venmo flow. - public var returnURLScheme: String = "" + @available( + *, + deprecated, + message: "returnURLScheme is deprecated and will be removed in a future version. Use BTVenmoClient(apiClient:universalLink:)." + ) + public var returnURLScheme: String { + get { _returnURLScheme } + set { _returnURLScheme = newValue } + } + + // swiftlint:disable identifier_name + /// :nodoc: This method is exposed for internal Braintree use only. Do not use. It is not covered by Semantic Versioning and may change or be removed at any time. + /// Property for `returnURLScheme`. Created to avoid deprecation warnings upon accessing + /// `returnURLScheme` directly within our SDK. Use this value instead. + public var _returnURLScheme: String = "" + // swiftlint:enable identifier_name // MARK: - Private Properties diff --git a/Sources/BraintreeVenmo/BTVenmoAppSwitchRedirectURL.swift b/Sources/BraintreeVenmo/BTVenmoAppSwitchRedirectURL.swift index b9d561e064..862a1c9ea9 100644 --- a/Sources/BraintreeVenmo/BTVenmoAppSwitchRedirectURL.swift +++ b/Sources/BraintreeVenmo/BTVenmoAppSwitchRedirectURL.swift @@ -22,9 +22,10 @@ struct BTVenmoAppSwitchRedirectURL { // MARK: - Initializer init( - returnURLScheme: String, paymentContextID: String, metadata: BTClientMetadata, + returnURLScheme: String?, + universalLink: URL?, forMerchantID merchantID: String?, accessToken: String?, bundleDisplayName: String?, @@ -46,9 +47,6 @@ struct BTVenmoAppSwitchRedirectURL { let base64EncodedBraintreeData = serializedBraintreeData?.base64EncodedString() queryParameters = [ - "x-success": constructRedirectURL(with: returnURLScheme, result: "success"), - "x-error": constructRedirectURL(with: returnURLScheme, result: "error"), - "x-cancel": constructRedirectURL(with: returnURLScheme, result: "cancel"), "x-source": bundleDisplayName, "braintree_merchant_id": merchantID, "braintree_access_token": accessToken, @@ -57,6 +55,16 @@ struct BTVenmoAppSwitchRedirectURL { "braintree_sdk_data": base64EncodedBraintreeData ?? "", "customerClient": "MOBILE_APP" ] + + if let universalLink { + queryParameters["x-success"] = universalLink.appendingPathComponent("success").absoluteString + queryParameters["x-error"] = universalLink.appendingPathComponent("error").absoluteString + queryParameters["x-cancel"] = universalLink.appendingPathComponent("cancel").absoluteString + } else if let returnURLScheme { + queryParameters["x-success"] = constructRedirectURL(with: returnURLScheme, result: "success") + queryParameters["x-error"] = constructRedirectURL(with: returnURLScheme, result: "error") + queryParameters["x-cancel"] = constructRedirectURL(with: returnURLScheme, result: "cancel") + } } // MARK: - Internal Methods diff --git a/Sources/BraintreeVenmo/BTVenmoAppSwitchReturnURL.swift b/Sources/BraintreeVenmo/BTVenmoAppSwitchReturnURL.swift index b1fcd30be4..569054b539 100644 --- a/Sources/BraintreeVenmo/BTVenmoAppSwitchReturnURL.swift +++ b/Sources/BraintreeVenmo/BTVenmoAppSwitchReturnURL.swift @@ -41,7 +41,7 @@ struct BTVenmoAppSwitchReturnURL { init?(url: URL) { let parameters = BTURLUtils.queryParameters(for: url) - if url.path == "/vzero/auth/venmo/success" { + if url.path.contains("success") { if let resourceID = parameters["resource_id"] { state = .succeededWithPaymentContext paymentContextID = resourceID @@ -50,12 +50,12 @@ struct BTVenmoAppSwitchReturnURL { nonce = parameters["paymentMethodNonce"] ?? parameters["payment_method_nonce"] username = parameters["username"] } - } else if url.path == "/vzero/auth/venmo/error" { + } else if url.path.contains("error") { state = .failed let errorMessage: String? = parameters["errorMessage"] ?? parameters["error_message"] let errorCode = Int(parameters["errorCode"] ?? parameters["error_code"] ?? "0") error = BTVenmoAppSwitchError.returnURLError(errorCode ?? 0, errorMessage) - } else if url.path == "/vzero/auth/venmo/cancel" { + } else if url.path.contains("cancel") { state = .canceled } else { state = .unknown @@ -68,6 +68,7 @@ struct BTVenmoAppSwitchReturnURL { /// - Parameter url: an app switch return URL /// - Returns: `true` if the url represents a Venmo Touch app switch return static func isValid(url: URL) -> Bool { - url.host == "x-callback-url" && url.path.hasPrefix("/vzero/auth/venmo/") + (url.scheme == "https" && (url.path.contains("cancel") || url.path.contains("success") || url.path.contains("error"))) + || (url.host == "x-callback-url" && url.path.hasPrefix("/vzero/auth/venmo/")) } } diff --git a/Sources/BraintreeVenmo/BTVenmoClient.swift b/Sources/BraintreeVenmo/BTVenmoClient.swift index f5fa291508..7193bb8758 100644 --- a/Sources/BraintreeVenmo/BTVenmoClient.swift +++ b/Sources/BraintreeVenmo/BTVenmoClient.swift @@ -46,9 +46,11 @@ import BraintreeCore /// Used for sending the type of flow, universal vs deeplink to FPTI private var linkType: LinkType? + private var universalLink: URL? + // MARK: - Initializer - /// Creates an Apple Pay client + /// Creates a Venmo client /// - Parameter apiClient: An API client @objc(initWithAPIClient:) public init(apiClient: BTAPIClient) { @@ -56,6 +58,16 @@ import BraintreeCore self.apiClient = apiClient } + /// Initialize a new Venmo client instance. + /// - Parameters: + /// - apiClient: The API Client + /// - universalLink: The URL for the Venmo app to redirect to after user authentication completes. Must be a valid HTTPS URL dedicated to Braintree app switch returns. + @objc(initWithAPIClient:universalLink:) + public convenience init(apiClient: BTAPIClient, universalLink: URL) { + self.init(apiClient: apiClient) + self.universalLink = universalLink + } + // MARK: - Public Methods /// Initiates Venmo login via app switch, which returns a BTVenmoAccountNonce when successful. @@ -69,7 +81,7 @@ import BraintreeCore public func tokenize(_ request: BTVenmoRequest, completion: @escaping (BTVenmoAccountNonce?, Error?) -> Void) { linkType = request.fallbackToWeb ? .universal : .deeplink apiClient.sendAnalyticsEvent(BTVenmoAnalytics.tokenizeStarted, isVaultRequest: shouldVault, linkType: linkType) - let returnURLScheme = BTAppContextSwitcher.sharedInstance.returnURLScheme + let returnURLScheme = BTAppContextSwitcher.sharedInstance._returnURLScheme if returnURLScheme.isEmpty { NSLog( @@ -151,9 +163,10 @@ import BraintreeCore do { let appSwitchURL = try BTVenmoAppSwitchRedirectURL( - returnURLScheme: returnURLScheme, paymentContextID: paymentContextID, metadata: metadata, + returnURLScheme: returnURLScheme, + universalLink: self.universalLink, forMerchantID: merchantProfileID, accessToken: configuration.venmoAccessToken, bundleDisplayName: bundleDisplayName, diff --git a/UnitTests/BraintreeVenmoTests/BTVenmoAppSwitchRedirectURL_Tests.swift b/UnitTests/BraintreeVenmoTests/BTVenmoAppSwitchRedirectURL_Tests.swift index da92e9bc00..fef916e212 100644 --- a/UnitTests/BraintreeVenmoTests/BTVenmoAppSwitchRedirectURL_Tests.swift +++ b/UnitTests/BraintreeVenmoTests/BTVenmoAppSwitchRedirectURL_Tests.swift @@ -7,9 +7,10 @@ class BTVenmoAppSwitchRedirectURL_Tests: XCTestCase { func testUrlSchemeURL_whenAllValuesAreInitialized_returnsURLWithPaymentContextID() { do { let requestURL = try BTVenmoAppSwitchRedirectURL( - returnURLScheme: "url-scheme", paymentContextID: "12345", metadata: BTClientMetadata(), + returnURLScheme: "url-scheme", + universalLink: nil, forMerchantID: "merchant-id", accessToken: "access-token", bundleDisplayName: "display-name", @@ -29,9 +30,10 @@ class BTVenmoAppSwitchRedirectURL_Tests: XCTestCase { func testAppSwitchURL_whenMerchantIDNil_throwsError() { do { _ = try BTVenmoAppSwitchRedirectURL( - returnURLScheme: "url-scheme", paymentContextID: "12345", metadata: BTClientMetadata(), + returnURLScheme: "url-scheme", + universalLink: nil, forMerchantID: nil, accessToken: "access-token", bundleDisplayName: "display-name", @@ -47,9 +49,10 @@ class BTVenmoAppSwitchRedirectURL_Tests: XCTestCase { func testUniversalLinkURL_whenAllValuesInitialized_returnsURLWithAllValues() { do { let requestURL = try BTVenmoAppSwitchRedirectURL( - returnURLScheme: "url-scheme", paymentContextID: "12345", metadata: BTClientMetadata(), + returnURLScheme: nil, + universalLink: URL(string: "https://mywebsite.com/braintree-payments"), forMerchantID: "merchant-id", accessToken: "access-token", bundleDisplayName: "display-name", @@ -60,9 +63,9 @@ class BTVenmoAppSwitchRedirectURL_Tests: XCTestCase { let components = URLComponents(string: requestURL.universalLinksURL()!.absoluteString) guard let queryItems = components?.queryItems else { XCTFail(); return } - XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-success", value: "url-scheme://x-callback-url/vzero/auth/venmo/success"))) - XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-error", value: "url-scheme://x-callback-url/vzero/auth/venmo/error"))) - XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-cancel", value: "url-scheme://x-callback-url/vzero/auth/venmo/cancel"))) + XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-success", value: "https://mywebsite.com/braintree-payments/success"))) + XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-error", value: "https://mywebsite.com/braintree-payments/error"))) + XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-cancel", value: "https://mywebsite.com/braintree-payments/cancel"))) XCTAssertTrue(queryItems.contains(URLQueryItem(name: "x-source", value: "display-name"))) XCTAssertTrue(queryItems.contains(URLQueryItem(name: "braintree_merchant_id", value: "merchant-id"))) XCTAssertTrue(queryItems.contains(URLQueryItem(name: "braintree_access_token", value: "access-token"))) From 7441a8675ad58a74809a66b57e59e687f6d647b4 Mon Sep 17 00:00:00 2001 From: Jax DesMarais-Leder Date: Wed, 11 Dec 2024 11:36:27 -0600 Subject: [PATCH 4/7] Add `BTThreeDSecureRequest.requestorAppURL` (#1480) * add threeDSRequestorAppURL to BTThreeDSecureRequest * set cardinalConfiguration.threeDSRequestorAppURL * add CHANGELOG entry * update name to requestorAppURL * update CHANGELOG property name --- CHANGELOG.md | 2 ++ Sources/BraintreeThreeDSecure/BTThreeDSecureRequest.swift | 4 ++++ Sources/BraintreeThreeDSecure/BTThreeDSecureV2Provider.swift | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7aadca02b4..00bab10593 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ * Add `BTVenmoClient(apiClient:universalLink:)` to use Universal Links when redirecting back from the Venmo flow * BraintreeCore * Deprecate `BTAppContextSwitcher.sharedInstance.returnURLScheme` +* BraintreeThreeDSecure + * Add `BTThreeDSecureRequest.requestorAppURL` ## 6.24.0 (2024-10-15) * BraintreePayPal diff --git a/Sources/BraintreeThreeDSecure/BTThreeDSecureRequest.swift b/Sources/BraintreeThreeDSecure/BTThreeDSecureRequest.swift index 43b3274951..d9ff3cc446 100644 --- a/Sources/BraintreeThreeDSecure/BTThreeDSecureRequest.swift +++ b/Sources/BraintreeThreeDSecure/BTThreeDSecureRequest.swift @@ -93,6 +93,10 @@ import BraintreeCore /// When using `BTThreeDSecureUIType.native`, all `BTThreeDSecureRenderType` options except `.html` must be set. public var renderTypes: [BTThreeDSecureRenderType]? + /// Optional. Three DS Requester APP URL Merchant app declaring their URL within the CReq message + /// so that the Authentication app can call the Merchant app after out of band authentication has occurred. + public var requestorAppURL: String? + /// A delegate for receiving information about the ThreeDSecure payment flow. public weak var threeDSecureRequestDelegate: BTThreeDSecureRequestDelegate? diff --git a/Sources/BraintreeThreeDSecure/BTThreeDSecureV2Provider.swift b/Sources/BraintreeThreeDSecure/BTThreeDSecureV2Provider.swift index 89b21f4113..99cd10f9c0 100644 --- a/Sources/BraintreeThreeDSecure/BTThreeDSecureV2Provider.swift +++ b/Sources/BraintreeThreeDSecure/BTThreeDSecureV2Provider.swift @@ -45,6 +45,10 @@ class BTThreeDSecureV2Provider { cardinalConfiguration.renderType = renderTypes.compactMap { $0.cardinalValue } } + if let requestorAppURL = request.requestorAppURL { + cardinalConfiguration.threeDSRequestorAppURL = requestorAppURL + } + guard let cardinalAuthenticationJWT = configuration.cardinalAuthenticationJWT else { completion(nil) return From ba7509326c8fab939da32c3e686b1cf1d5941589 Mon Sep 17 00:00:00 2001 From: braintreeps Date: Wed, 11 Dec 2024 20:27:47 +0000 Subject: [PATCH 5/7] Remove SPMTest app to avoid Carthage timeout --- .../SPMTest/SPMTest.xcodeproj/project.pbxproj | 502 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/SPMTest.xcscheme | 78 --- SampleApps/SPMTest/SPMTest/AppDelegate.swift | 29 - .../AccentColor.colorset/Contents.json | 11 - ...20 - iPhone App Icon-ipad-spotlight@1x.png | Bin 3422 -> 0 bytes ... - iPhone App Icon-ipad-spotlight@2x-1.png | Bin 3991 -> 0 bytes ...20 - iPhone App Icon-ipad-spotlight@2x.png | Bin 3991 -> 0 bytes .../120 - iPhone App Icon-ipad@1x.png | Bin 3936 -> 0 bytes .../120 - iPhone App Icon-ipad@2x.png | Bin 5205 -> 0 bytes .../120 - iPhone App Icon@2x.png | Bin 4590 -> 0 bytes .../120 - iPhone Pro App Icon-ipad@2x.png | Bin 5073 -> 0 bytes .../AppIcon.appiconset/Contents.json | 106 ---- .../AppIcon.appiconset/unused-1024-logo.png | Bin 104035 -> 0 bytes .../SPMTest/Assets.xcassets/Contents.json | 6 - .../Base.lproj/LaunchScreen.storyboard | 25 - .../SPMTest/Base.lproj/Main.storyboard | 24 - SampleApps/SPMTest/SPMTest/Info.plist | 68 --- .../SPMTest/SPMTest/SceneDelegate.swift | 45 -- .../SPMTest/SPMTest/ViewController.swift | 32 -- 21 files changed, 941 deletions(-) delete mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj delete mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme delete mode 100644 SampleApps/SPMTest/SPMTest/AppDelegate.swift delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@2x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/unused-1024-logo.png delete mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/Contents.json delete mode 100644 SampleApps/SPMTest/SPMTest/Base.lproj/LaunchScreen.storyboard delete mode 100644 SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard delete mode 100644 SampleApps/SPMTest/SPMTest/Info.plist delete mode 100644 SampleApps/SPMTest/SPMTest/SceneDelegate.swift delete mode 100644 SampleApps/SPMTest/SPMTest/ViewController.swift diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj b/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj deleted file mode 100644 index 8fe73f7363..0000000000 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj +++ /dev/null @@ -1,502 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 45B2CA822C08D70E00FCCD4C /* BraintreePayPalMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */; }; - 80214E042551FB5A00695A6F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E032551FB5A00695A6F /* AppDelegate.swift */; }; - 80214E062551FB5A00695A6F /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E052551FB5A00695A6F /* SceneDelegate.swift */; }; - 80214E082551FB5A00695A6F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E072551FB5A00695A6F /* ViewController.swift */; }; - 80214E0B2551FB5A00695A6F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 80214E092551FB5A00695A6F /* Main.storyboard */; }; - 80214E0D2551FB5C00695A6F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 80214E0C2551FB5C00695A6F /* Assets.xcassets */; }; - 80214E102551FB5C00695A6F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */; }; - BE35FCDB2A1BD2EF008F0326 /* BraintreeLocalPayment in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */; }; - BE35FCE22A1C0885008F0326 /* BraintreeAmericanExpress in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */; }; - BE35FCE42A1C0885008F0326 /* BraintreeApplePay in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE32A1C0885008F0326 /* BraintreeApplePay */; }; - BE35FCE62A1C0885008F0326 /* BraintreeCard in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE52A1C0885008F0326 /* BraintreeCard */; }; - BE35FCE82A1C0885008F0326 /* BraintreeCore in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE72A1C0885008F0326 /* BraintreeCore */; }; - BE35FCEA2A1C0885008F0326 /* BraintreeDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */; }; - BE35FCEC2A1C0885008F0326 /* BraintreeLocalPayment in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */; }; - BE35FCEE2A1C0885008F0326 /* BraintreePayPal in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCED2A1C0885008F0326 /* BraintreePayPal */; }; - BE35FCF02A1C0885008F0326 /* BraintreePayPalNativeCheckout in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */; }; - BE35FCF22A1C0885008F0326 /* BraintreeSEPADirectDebit in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */; }; - BE35FCF42A1C0885008F0326 /* BraintreeThreeDSecure in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */; }; - BE35FCF62A1C0885008F0326 /* BraintreeVenmo in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF52A1C0885008F0326 /* BraintreeVenmo */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 42C1D7CC25C8B34C00C33708 /* CardinalMobile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CardinalMobile.framework; path = Frameworks/CardinalMobile.framework; sourceTree = ""; }; - 80214E002551FB5A00695A6F /* SPMTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SPMTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 80214E032551FB5A00695A6F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 80214E052551FB5A00695A6F /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 80214E072551FB5A00695A6F /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 80214E0A2551FB5A00695A6F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 80214E0C2551FB5C00695A6F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 80214E0F2551FB5C00695A6F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 80214E112551FB5C00695A6F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9C1FC8B927CED7DF00E6E14D /* braintree_ios */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = braintree_ios; path = ../..; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 80214DFD2551FB5A00695A6F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BE35FCEC2A1C0885008F0326 /* BraintreeLocalPayment in Frameworks */, - BE35FCE82A1C0885008F0326 /* BraintreeCore in Frameworks */, - BE35FCEE2A1C0885008F0326 /* BraintreePayPal in Frameworks */, - BE35FCF62A1C0885008F0326 /* BraintreeVenmo in Frameworks */, - BE35FCE22A1C0885008F0326 /* BraintreeAmericanExpress in Frameworks */, - BE35FCDB2A1BD2EF008F0326 /* BraintreeLocalPayment in Frameworks */, - BE35FCE42A1C0885008F0326 /* BraintreeApplePay in Frameworks */, - BE35FCE62A1C0885008F0326 /* BraintreeCard in Frameworks */, - BE35FCF02A1C0885008F0326 /* BraintreePayPalNativeCheckout in Frameworks */, - BE35FCF42A1C0885008F0326 /* BraintreeThreeDSecure in Frameworks */, - BE35FCF22A1C0885008F0326 /* BraintreeSEPADirectDebit in Frameworks */, - BE35FCEA2A1C0885008F0326 /* BraintreeDataCollector in Frameworks */, - 45B2CA822C08D70E00FCCD4C /* BraintreePayPalMessaging in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 42C2D3002583D8CF00E525AE /* Frameworks */ = { - isa = PBXGroup; - children = ( - 42C1D7CC25C8B34C00C33708 /* CardinalMobile.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 80214DF72551FB5A00695A6F = { - isa = PBXGroup; - children = ( - 9C1FC8B827CED7DF00E6E14D /* Packages */, - 80214E022551FB5A00695A6F /* SPMTest */, - 80214E012551FB5A00695A6F /* Products */, - 42C2D3002583D8CF00E525AE /* Frameworks */, - ); - sourceTree = ""; - }; - 80214E012551FB5A00695A6F /* Products */ = { - isa = PBXGroup; - children = ( - 80214E002551FB5A00695A6F /* SPMTest.app */, - ); - name = Products; - sourceTree = ""; - }; - 80214E022551FB5A00695A6F /* SPMTest */ = { - isa = PBXGroup; - children = ( - 80214E032551FB5A00695A6F /* AppDelegate.swift */, - 80214E052551FB5A00695A6F /* SceneDelegate.swift */, - 80214E072551FB5A00695A6F /* ViewController.swift */, - 80214E092551FB5A00695A6F /* Main.storyboard */, - 80214E0C2551FB5C00695A6F /* Assets.xcassets */, - 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */, - 80214E112551FB5C00695A6F /* Info.plist */, - ); - path = SPMTest; - sourceTree = ""; - }; - 9C1FC8B827CED7DF00E6E14D /* Packages */ = { - isa = PBXGroup; - children = ( - 9C1FC8B927CED7DF00E6E14D /* braintree_ios */, - ); - name = Packages; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 80214DFF2551FB5A00695A6F /* SPMTest */ = { - isa = PBXNativeTarget; - buildConfigurationList = 80214E142551FB5C00695A6F /* Build configuration list for PBXNativeTarget "SPMTest" */; - buildPhases = ( - 80214DFC2551FB5A00695A6F /* Sources */, - 80214DFD2551FB5A00695A6F /* Frameworks */, - 80214DFE2551FB5A00695A6F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SPMTest; - packageProductDependencies = ( - BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */, - BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */, - BE35FCE32A1C0885008F0326 /* BraintreeApplePay */, - BE35FCE52A1C0885008F0326 /* BraintreeCard */, - BE35FCE72A1C0885008F0326 /* BraintreeCore */, - BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */, - BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */, - BE35FCED2A1C0885008F0326 /* BraintreePayPal */, - BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */, - BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */, - BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */, - BE35FCF52A1C0885008F0326 /* BraintreeVenmo */, - 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */, - ); - productName = SPMTest; - productReference = 80214E002551FB5A00695A6F /* SPMTest.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 80214DF82551FB5A00695A6F /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1210; - LastUpgradeCheck = 1210; - TargetAttributes = { - 80214DFF2551FB5A00695A6F = { - CreatedOnToolsVersion = 12.1; - }; - }; - }; - buildConfigurationList = 80214DFB2551FB5A00695A6F /* Build configuration list for PBXProject "SPMTest" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 80214DF72551FB5A00695A6F; - packageReferences = ( - BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */, - ); - productRefGroup = 80214E012551FB5A00695A6F /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 80214DFF2551FB5A00695A6F /* SPMTest */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 80214DFE2551FB5A00695A6F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 80214E102551FB5C00695A6F /* LaunchScreen.storyboard in Resources */, - 80214E0D2551FB5C00695A6F /* Assets.xcassets in Resources */, - 80214E0B2551FB5A00695A6F /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 80214DFC2551FB5A00695A6F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 80214E082551FB5A00695A6F /* ViewController.swift in Sources */, - 80214E042551FB5A00695A6F /* AppDelegate.swift in Sources */, - 80214E062551FB5A00695A6F /* SceneDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 80214E092551FB5A00695A6F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 80214E0A2551FB5A00695A6F /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 80214E0F2551FB5C00695A6F /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 80214E122551FB5C00695A6F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_BITCODE = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 80214E132551FB5C00695A6F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 80214E152551FB5C00695A6F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 20; - DEVELOPMENT_TEAM = 43253H4X22; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Frameworks", - ); - INFOPLIST_FILE = SPMTest/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.braintreepayments.SPMTest; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_WORKSPACE = YES; - }; - name = Debug; - }; - 80214E162551FB5C00695A6F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 20; - DEVELOPMENT_TEAM = 43253H4X22; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Frameworks", - ); - INFOPLIST_FILE = SPMTest/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.braintreepayments.SPMTest; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_WORKSPACE = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 80214DFB2551FB5A00695A6F /* Build configuration list for PBXProject "SPMTest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 80214E122551FB5C00695A6F /* Debug */, - 80214E132551FB5C00695A6F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 80214E142551FB5C00695A6F /* Build configuration list for PBXNativeTarget "SPMTest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 80214E152551FB5C00695A6F /* Debug */, - 80214E162551FB5C00695A6F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCRemoteSwiftPackageReference section */ - BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/braintree/braintree_ios"; - requirement = { - branch = main; - kind = branch; - }; - }; -/* End XCRemoteSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */ = { - isa = XCSwiftPackageProductDependency; - productName = BraintreePayPalMessaging; - }; - BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */ = { - isa = XCSwiftPackageProductDependency; - productName = BraintreeLocalPayment; - }; - BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeAmericanExpress; - }; - BE35FCE32A1C0885008F0326 /* BraintreeApplePay */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeApplePay; - }; - BE35FCE52A1C0885008F0326 /* BraintreeCard */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeCard; - }; - BE35FCE72A1C0885008F0326 /* BraintreeCore */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeCore; - }; - BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeDataCollector; - }; - BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeLocalPayment; - }; - BE35FCED2A1C0885008F0326 /* BraintreePayPal */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreePayPal; - }; - BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreePayPalNativeCheckout; - }; - BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeSEPADirectDebit; - }; - BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeThreeDSecure; - }; - BE35FCF52A1C0885008F0326 /* BraintreeVenmo */ = { - isa = XCSwiftPackageProductDependency; - package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeVenmo; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 80214DF82551FB5A00695A6F /* Project object */; -} diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a625..0000000000 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme b/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme deleted file mode 100644 index 38ec8a362a..0000000000 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SampleApps/SPMTest/SPMTest/AppDelegate.swift b/SampleApps/SPMTest/SPMTest/AppDelegate.swift deleted file mode 100644 index f7f60fd743..0000000000 --- a/SampleApps/SPMTest/SPMTest/AppDelegate.swift +++ /dev/null @@ -1,29 +0,0 @@ -import UIKit - -@main -class AppDelegate: UIResponder, UIApplicationDelegate { - - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - - // MARK: UISceneSession Lifecycle - - func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) - } - - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. - } - - -} - diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897008..0000000000 --- a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png deleted file mode 100644 index 3d059cba61790bb3b8a924e5f37e1f8ab2450bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3422 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 AZvX%Q diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png deleted file mode 100644 index f3bfe7c0242dcecc1ab785ffc1438a674cfd5f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3991 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 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png deleted file mode 100644 index f3bfe7c0242dcecc1ab785ffc1438a674cfd5f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3991 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 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png deleted file mode 100644 index c47b7752ebded78d2f77e4baf9a3f5ff65fcb659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3936 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 U^hc}zdlv$9wH|3UsN2W>2V!U9!2kdN diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png deleted file mode 100644 index 728c48c142447463a7fb2436c5a36ae842af5e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4590 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 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png deleted file mode 100644 index c94ea173bf2d70f8016c31e073150acc853f15e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5073 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 h@tMH?ujS5f@arD5W_y<2{texRwgyU00>e5 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

T#kT|qD_WPl_Y#l#zluE-fs1r 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 - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard b/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard deleted file mode 100644 index 25a763858e..0000000000 --- a/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SampleApps/SPMTest/SPMTest/Info.plist b/SampleApps/SPMTest/SPMTest/Info.plist deleted file mode 100644 index 2a6805b164..0000000000 --- a/SampleApps/SPMTest/SPMTest/Info.plist +++ /dev/null @@ -1,68 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - LSRequiresIPhoneOS - - NSLocationWhenInUseUsageDescription - Location isn't used - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - $(PRODUCT_MODULE_NAME).SceneDelegate - UISceneStoryboardFile - Main - - - - - UIApplicationSupportsIndirectInputEvents - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/SampleApps/SPMTest/SPMTest/SceneDelegate.swift b/SampleApps/SPMTest/SPMTest/SceneDelegate.swift deleted file mode 100644 index d47e9706ea..0000000000 --- a/SampleApps/SPMTest/SPMTest/SceneDelegate.swift +++ /dev/null @@ -1,45 +0,0 @@ -import UIKit - -class SceneDelegate: UIResponder, UIWindowSceneDelegate { - - var window: UIWindow? - - - func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { - // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. - // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. - // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). - guard let _ = (scene as? UIWindowScene) else { return } - } - - func sceneDidDisconnect(_ scene: UIScene) { - // Called as the scene is being released by the system. - // This occurs shortly after the scene enters the background, or when its session is discarded. - // Release any resources associated with this scene that can be re-created the next time the scene connects. - // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). - } - - func sceneDidBecomeActive(_ scene: UIScene) { - // Called when the scene has moved from an inactive state to an active state. - // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. - } - - func sceneWillResignActive(_ scene: UIScene) { - // Called when the scene will move from an active state to an inactive state. - // This may occur due to temporary interruptions (ex. an incoming phone call). - } - - func sceneWillEnterForeground(_ scene: UIScene) { - // Called as the scene transitions from the background to the foreground. - // Use this method to undo the changes made on entering the background. - } - - func sceneDidEnterBackground(_ scene: UIScene) { - // Called as the scene transitions from the foreground to the background. - // Use this method to save data, release shared resources, and store enough scene-specific state information - // to restore the scene back to its current state. - } - - -} - diff --git a/SampleApps/SPMTest/SPMTest/ViewController.swift b/SampleApps/SPMTest/SPMTest/ViewController.swift deleted file mode 100644 index e1eafe7ecb..0000000000 --- a/SampleApps/SPMTest/SPMTest/ViewController.swift +++ /dev/null @@ -1,32 +0,0 @@ -import UIKit -import BraintreeAmericanExpress -import BraintreeApplePay -import BraintreeCard -import BraintreeCore -import BraintreeDataCollector -import BraintreeLocalPayment -import BraintreePayPal -import BraintreePayPalMessaging -import BraintreeThreeDSecure -import BraintreeVenmo -import BraintreePayPalNativeCheckout -import BraintreeSEPADirectDebit - -class ViewController: UIViewController { - - override func viewDidLoad() { - let apiClient = BTAPIClient(authorization: "sandbox_9dbg82cq_dcpspy2brwdjr3qn")! - - let amexClient = BTAmericanExpressClient(apiClient: apiClient) - let applePayClient = BTApplePayClient(apiClient: apiClient) - let cardClient = BTCardClient(apiClient: apiClient) - let dataCollector = BTDataCollector(apiClient: apiClient) - let localPaymentClient = BTLocalPaymentClient(apiClient: apiClient) - let payPalClient = BTPayPalClient(apiClient: apiClient) - let payPalMessagingView = BTPayPalMessagingView(apiClient: apiClient) - let threeDSecureClient = BTThreeDSecureClient(apiClient: apiClient) - let venmoClient = BTVenmoClient(apiClient: apiClient) - let payPalNativeCheckoutClient = BTPayPalNativeCheckoutClient(apiClient: apiClient) - let sepaDirectDebitClient = BTSEPADirectDebitClient(apiClient: apiClient) - } -} From db038de6ebff2f1f1cf22b2bac156e3956218585 Mon Sep 17 00:00:00 2001 From: braintreeps Date: Wed, 11 Dec 2024 20:27:47 +0000 Subject: [PATCH 6/7] Bump version to 6.25.0 --- Braintree.podspec | 2 +- CHANGELOG.md | 2 +- Demo/Application/Supporting Files/Braintree-Demo-Info.plist | 4 ++-- Sources/BraintreeCore/BTCoreConstants.swift | 2 +- Sources/BraintreeCore/Info.plist | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Braintree.podspec b/Braintree.podspec index f5d273c832..01086b8d05 100644 --- a/Braintree.podspec +++ b/Braintree.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "Braintree" - s.version = "6.24.0" + s.version = "6.25.0" s.summary = "Braintree iOS SDK: Helps you accept card and alternative payments in your iOS app." s.description = <<-DESC Braintree is a full-stack payments platform for developers diff --git a/CHANGELOG.md b/CHANGELOG.md index 00bab10593..748b2edb88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Braintree iOS SDK Release Notes -## unreleased +## 6.25.0 (2024-12-11) * BraintreePayPal * Add `BTPayPalRequest.userPhoneNumber` optional property * Send `url` in `event_params` for App Switch events to PayPal's analytics service (FPTI) diff --git a/Demo/Application/Supporting Files/Braintree-Demo-Info.plist b/Demo/Application/Supporting Files/Braintree-Demo-Info.plist index 03c10f885f..0fff3896e4 100644 --- a/Demo/Application/Supporting Files/Braintree-Demo-Info.plist +++ b/Demo/Application/Supporting Files/Braintree-Demo-Info.plist @@ -41,7 +41,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.24.0 + 6.25.0 CFBundleURLTypes @@ -56,7 +56,7 @@ CFBundleVersion - 6.24.0 + 6.25.0 LSApplicationQueriesSchemes com.braintreepayments.Demo.payments diff --git a/Sources/BraintreeCore/BTCoreConstants.swift b/Sources/BraintreeCore/BTCoreConstants.swift index aaa8eb3a20..a058997d4d 100644 --- a/Sources/BraintreeCore/BTCoreConstants.swift +++ b/Sources/BraintreeCore/BTCoreConstants.swift @@ -5,7 +5,7 @@ import Foundation @objcMembers public class BTCoreConstants: NSObject { /// :nodoc: This property is exposed for internal Braintree use only. Do not use. It is not covered by Semantic Versioning and may change or be removed at any time. - public static var braintreeSDKVersion: String = "6.24.0" + public static var braintreeSDKVersion: String = "6.25.0" /// :nodoc: This property is exposed for internal Braintree use only. Do not use. It is not covered by Semantic Versioning and may change or be removed at any time. public static let callbackURLScheme: String = "sdk.ios.braintree" diff --git a/Sources/BraintreeCore/Info.plist b/Sources/BraintreeCore/Info.plist index 0a03531a0b..8724499eed 100644 --- a/Sources/BraintreeCore/Info.plist +++ b/Sources/BraintreeCore/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.24.0 + 6.25.0 CFBundleSignature ???? CFBundleVersion - 6.24.0 + 6.25.0 NSPrincipalClass From 652e69697d4449de5fe509fed5dcafde9f07c1b7 Mon Sep 17 00:00:00 2001 From: braintreeps Date: Wed, 11 Dec 2024 20:27:47 +0000 Subject: [PATCH 7/7] Revert "Remove SPMTest app to avoid Carthage timeout" This reverts commit ba7509326c8fab939da32c3e686b1cf1d5941589. --- .../SPMTest/SPMTest.xcodeproj/project.pbxproj | 502 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/SPMTest.xcscheme | 78 +++ SampleApps/SPMTest/SPMTest/AppDelegate.swift | 29 + .../AccentColor.colorset/Contents.json | 11 + ...20 - iPhone App Icon-ipad-spotlight@1x.png | Bin 0 -> 3422 bytes ... - iPhone App Icon-ipad-spotlight@2x-1.png | Bin 0 -> 3991 bytes ...20 - iPhone App Icon-ipad-spotlight@2x.png | Bin 0 -> 3991 bytes .../120 - iPhone App Icon-ipad@1x.png | Bin 0 -> 3936 bytes .../120 - iPhone App Icon-ipad@2x.png | Bin 0 -> 5205 bytes .../120 - iPhone App Icon@2x.png | Bin 0 -> 4590 bytes .../120 - iPhone Pro App Icon-ipad@2x.png | Bin 0 -> 5073 bytes .../AppIcon.appiconset/Contents.json | 106 ++++ .../AppIcon.appiconset/unused-1024-logo.png | Bin 0 -> 104035 bytes .../SPMTest/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + .../SPMTest/Base.lproj/Main.storyboard | 24 + SampleApps/SPMTest/SPMTest/Info.plist | 68 +++ .../SPMTest/SPMTest/SceneDelegate.swift | 45 ++ .../SPMTest/SPMTest/ViewController.swift | 32 ++ 21 files changed, 941 insertions(+) create mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj create mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme create mode 100644 SampleApps/SPMTest/SPMTest/AppDelegate.swift create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@2x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/unused-1024-logo.png create mode 100644 SampleApps/SPMTest/SPMTest/Assets.xcassets/Contents.json create mode 100644 SampleApps/SPMTest/SPMTest/Base.lproj/LaunchScreen.storyboard create mode 100644 SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard create mode 100644 SampleApps/SPMTest/SPMTest/Info.plist create mode 100644 SampleApps/SPMTest/SPMTest/SceneDelegate.swift create mode 100644 SampleApps/SPMTest/SPMTest/ViewController.swift diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj b/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..8fe73f7363 --- /dev/null +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj @@ -0,0 +1,502 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 45B2CA822C08D70E00FCCD4C /* BraintreePayPalMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */; }; + 80214E042551FB5A00695A6F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E032551FB5A00695A6F /* AppDelegate.swift */; }; + 80214E062551FB5A00695A6F /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E052551FB5A00695A6F /* SceneDelegate.swift */; }; + 80214E082551FB5A00695A6F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80214E072551FB5A00695A6F /* ViewController.swift */; }; + 80214E0B2551FB5A00695A6F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 80214E092551FB5A00695A6F /* Main.storyboard */; }; + 80214E0D2551FB5C00695A6F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 80214E0C2551FB5C00695A6F /* Assets.xcassets */; }; + 80214E102551FB5C00695A6F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */; }; + BE35FCDB2A1BD2EF008F0326 /* BraintreeLocalPayment in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */; }; + BE35FCE22A1C0885008F0326 /* BraintreeAmericanExpress in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */; }; + BE35FCE42A1C0885008F0326 /* BraintreeApplePay in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE32A1C0885008F0326 /* BraintreeApplePay */; }; + BE35FCE62A1C0885008F0326 /* BraintreeCard in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE52A1C0885008F0326 /* BraintreeCard */; }; + BE35FCE82A1C0885008F0326 /* BraintreeCore in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE72A1C0885008F0326 /* BraintreeCore */; }; + BE35FCEA2A1C0885008F0326 /* BraintreeDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */; }; + BE35FCEC2A1C0885008F0326 /* BraintreeLocalPayment in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */; }; + BE35FCEE2A1C0885008F0326 /* BraintreePayPal in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCED2A1C0885008F0326 /* BraintreePayPal */; }; + BE35FCF02A1C0885008F0326 /* BraintreePayPalNativeCheckout in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */; }; + BE35FCF22A1C0885008F0326 /* BraintreeSEPADirectDebit in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */; }; + BE35FCF42A1C0885008F0326 /* BraintreeThreeDSecure in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */; }; + BE35FCF62A1C0885008F0326 /* BraintreeVenmo in Frameworks */ = {isa = PBXBuildFile; productRef = BE35FCF52A1C0885008F0326 /* BraintreeVenmo */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 42C1D7CC25C8B34C00C33708 /* CardinalMobile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CardinalMobile.framework; path = Frameworks/CardinalMobile.framework; sourceTree = ""; }; + 80214E002551FB5A00695A6F /* SPMTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SPMTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 80214E032551FB5A00695A6F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 80214E052551FB5A00695A6F /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 80214E072551FB5A00695A6F /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 80214E0A2551FB5A00695A6F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 80214E0C2551FB5C00695A6F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 80214E0F2551FB5C00695A6F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 80214E112551FB5C00695A6F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9C1FC8B927CED7DF00E6E14D /* braintree_ios */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = braintree_ios; path = ../..; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 80214DFD2551FB5A00695A6F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BE35FCEC2A1C0885008F0326 /* BraintreeLocalPayment in Frameworks */, + BE35FCE82A1C0885008F0326 /* BraintreeCore in Frameworks */, + BE35FCEE2A1C0885008F0326 /* BraintreePayPal in Frameworks */, + BE35FCF62A1C0885008F0326 /* BraintreeVenmo in Frameworks */, + BE35FCE22A1C0885008F0326 /* BraintreeAmericanExpress in Frameworks */, + BE35FCDB2A1BD2EF008F0326 /* BraintreeLocalPayment in Frameworks */, + BE35FCE42A1C0885008F0326 /* BraintreeApplePay in Frameworks */, + BE35FCE62A1C0885008F0326 /* BraintreeCard in Frameworks */, + BE35FCF02A1C0885008F0326 /* BraintreePayPalNativeCheckout in Frameworks */, + BE35FCF42A1C0885008F0326 /* BraintreeThreeDSecure in Frameworks */, + BE35FCF22A1C0885008F0326 /* BraintreeSEPADirectDebit in Frameworks */, + BE35FCEA2A1C0885008F0326 /* BraintreeDataCollector in Frameworks */, + 45B2CA822C08D70E00FCCD4C /* BraintreePayPalMessaging in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 42C2D3002583D8CF00E525AE /* Frameworks */ = { + isa = PBXGroup; + children = ( + 42C1D7CC25C8B34C00C33708 /* CardinalMobile.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 80214DF72551FB5A00695A6F = { + isa = PBXGroup; + children = ( + 9C1FC8B827CED7DF00E6E14D /* Packages */, + 80214E022551FB5A00695A6F /* SPMTest */, + 80214E012551FB5A00695A6F /* Products */, + 42C2D3002583D8CF00E525AE /* Frameworks */, + ); + sourceTree = ""; + }; + 80214E012551FB5A00695A6F /* Products */ = { + isa = PBXGroup; + children = ( + 80214E002551FB5A00695A6F /* SPMTest.app */, + ); + name = Products; + sourceTree = ""; + }; + 80214E022551FB5A00695A6F /* SPMTest */ = { + isa = PBXGroup; + children = ( + 80214E032551FB5A00695A6F /* AppDelegate.swift */, + 80214E052551FB5A00695A6F /* SceneDelegate.swift */, + 80214E072551FB5A00695A6F /* ViewController.swift */, + 80214E092551FB5A00695A6F /* Main.storyboard */, + 80214E0C2551FB5C00695A6F /* Assets.xcassets */, + 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */, + 80214E112551FB5C00695A6F /* Info.plist */, + ); + path = SPMTest; + sourceTree = ""; + }; + 9C1FC8B827CED7DF00E6E14D /* Packages */ = { + isa = PBXGroup; + children = ( + 9C1FC8B927CED7DF00E6E14D /* braintree_ios */, + ); + name = Packages; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 80214DFF2551FB5A00695A6F /* SPMTest */ = { + isa = PBXNativeTarget; + buildConfigurationList = 80214E142551FB5C00695A6F /* Build configuration list for PBXNativeTarget "SPMTest" */; + buildPhases = ( + 80214DFC2551FB5A00695A6F /* Sources */, + 80214DFD2551FB5A00695A6F /* Frameworks */, + 80214DFE2551FB5A00695A6F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SPMTest; + packageProductDependencies = ( + BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */, + BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */, + BE35FCE32A1C0885008F0326 /* BraintreeApplePay */, + BE35FCE52A1C0885008F0326 /* BraintreeCard */, + BE35FCE72A1C0885008F0326 /* BraintreeCore */, + BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */, + BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */, + BE35FCED2A1C0885008F0326 /* BraintreePayPal */, + BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */, + BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */, + BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */, + BE35FCF52A1C0885008F0326 /* BraintreeVenmo */, + 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */, + ); + productName = SPMTest; + productReference = 80214E002551FB5A00695A6F /* SPMTest.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 80214DF82551FB5A00695A6F /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1210; + LastUpgradeCheck = 1210; + TargetAttributes = { + 80214DFF2551FB5A00695A6F = { + CreatedOnToolsVersion = 12.1; + }; + }; + }; + buildConfigurationList = 80214DFB2551FB5A00695A6F /* Build configuration list for PBXProject "SPMTest" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 80214DF72551FB5A00695A6F; + packageReferences = ( + BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */, + ); + productRefGroup = 80214E012551FB5A00695A6F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 80214DFF2551FB5A00695A6F /* SPMTest */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 80214DFE2551FB5A00695A6F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 80214E102551FB5C00695A6F /* LaunchScreen.storyboard in Resources */, + 80214E0D2551FB5C00695A6F /* Assets.xcassets in Resources */, + 80214E0B2551FB5A00695A6F /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 80214DFC2551FB5A00695A6F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 80214E082551FB5A00695A6F /* ViewController.swift in Sources */, + 80214E042551FB5A00695A6F /* AppDelegate.swift in Sources */, + 80214E062551FB5A00695A6F /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 80214E092551FB5A00695A6F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 80214E0A2551FB5A00695A6F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 80214E0E2551FB5C00695A6F /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 80214E0F2551FB5C00695A6F /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 80214E122551FB5C00695A6F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_BITCODE = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 80214E132551FB5C00695A6F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = NO; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 80214E152551FB5C00695A6F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 20; + DEVELOPMENT_TEAM = 43253H4X22; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Frameworks", + ); + INFOPLIST_FILE = SPMTest/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.braintreepayments.SPMTest; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_WORKSPACE = YES; + }; + name = Debug; + }; + 80214E162551FB5C00695A6F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 20; + DEVELOPMENT_TEAM = 43253H4X22; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Frameworks", + ); + INFOPLIST_FILE = SPMTest/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.braintreepayments.SPMTest; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_WORKSPACE = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 80214DFB2551FB5A00695A6F /* Build configuration list for PBXProject "SPMTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 80214E122551FB5C00695A6F /* Debug */, + 80214E132551FB5C00695A6F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 80214E142551FB5C00695A6F /* Build configuration list for PBXNativeTarget "SPMTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 80214E152551FB5C00695A6F /* Debug */, + 80214E162551FB5C00695A6F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/braintree/braintree_ios"; + requirement = { + branch = main; + kind = branch; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 45B2CA812C08D70E00FCCD4C /* BraintreePayPalMessaging */ = { + isa = XCSwiftPackageProductDependency; + productName = BraintreePayPalMessaging; + }; + BE35FCDA2A1BD2EF008F0326 /* BraintreeLocalPayment */ = { + isa = XCSwiftPackageProductDependency; + productName = BraintreeLocalPayment; + }; + BE35FCE12A1C0885008F0326 /* BraintreeAmericanExpress */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeAmericanExpress; + }; + BE35FCE32A1C0885008F0326 /* BraintreeApplePay */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeApplePay; + }; + BE35FCE52A1C0885008F0326 /* BraintreeCard */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeCard; + }; + BE35FCE72A1C0885008F0326 /* BraintreeCore */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeCore; + }; + BE35FCE92A1C0885008F0326 /* BraintreeDataCollector */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeDataCollector; + }; + BE35FCEB2A1C0885008F0326 /* BraintreeLocalPayment */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeLocalPayment; + }; + BE35FCED2A1C0885008F0326 /* BraintreePayPal */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreePayPal; + }; + BE35FCEF2A1C0885008F0326 /* BraintreePayPalNativeCheckout */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreePayPalNativeCheckout; + }; + BE35FCF12A1C0885008F0326 /* BraintreeSEPADirectDebit */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeSEPADirectDebit; + }; + BE35FCF32A1C0885008F0326 /* BraintreeThreeDSecure */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeThreeDSecure; + }; + BE35FCF52A1C0885008F0326 /* BraintreeVenmo */ = { + isa = XCSwiftPackageProductDependency; + package = BE35FCE02A1C0885008F0326 /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeVenmo; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 80214DF82551FB5A00695A6F /* Project object */; +} diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..919434a625 --- /dev/null +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme b/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme new file mode 100644 index 0000000000..38ec8a362a --- /dev/null +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SampleApps/SPMTest/SPMTest/AppDelegate.swift b/SampleApps/SPMTest/SPMTest/AppDelegate.swift new file mode 100644 index 0000000000..f7f60fd743 --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/AppDelegate.swift @@ -0,0 +1,29 @@ +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000000..eb87897008 --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3d059cba61790bb3b8a924e5f37e1f8ab2450bf1 GIT binary patch literal 3422 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f3bfe7c0242dcecc1ab785ffc1438a674cfd5f2c GIT binary patch literal 3991 zcmV;I4`}d-P)X+uL$Nkc;* zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DXM^`x7XQc?|s+0 z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0 z#IJ1jr{*iW$(WZWsE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45( zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3 z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s) z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3) zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9 z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@>R;lZ?BJkMlIuMhw8ApiF&yDYW2hFJ?fJhni{?u z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz zt39n_sIypSqfWEV6J3%nTQ@-4i zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^ z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$ zF$X<|c!#|X_tWYh)GZit z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz z&kJ6Nm#vN_+kA5{dW4@^Vjg_`q%qU1ULk& z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|iPIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~ zLQ&zpEzVmGY{hI9Z0+4-0xS$$Xe-OToc?Y*V;rTcf_ zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl% z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX= znVPf8XG_nK&J~=SIiGia@9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh- zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@{7Gl}MHY!vReVDLGM=6$R*+UU5VU$v`m-uH? zs&oToP}r(-5HQFbr7P}IVhHF>vz3wLoSf#IbC-nQg}}Y%_vie6pZv}}=bn4__4W1r z2Rf=I@L1KBWVl0s07@1D0VIHu1SHL=0tuib0ZDVJKmsU9K+>ElkN`>&kTj&G^YwAfRY3x&8Y$<0lFmZ`R3j*PJc3hr*awO z_?i`@F1XxwsJ5SbcQ^6pt?RhD@&i`a?^LkUFV+jNxdqSreK1t!;WrWJ>OnX%gq(F7 zzkIid^Ro#&DwKMM@U~qvD&ZCRav44xj*Q^K;@21-4i-tBxzr2LnH&I@2cdxp%%2-o zTkQhzHwM7_i5l&Fm>%yJNL!tXUVzO_aI1?|$Wv?R9gKDhsVY(0r}x_!6XE_&H0^|% z#l7sa7#)k09cG#I3cmd2S2R6Q(B921n?=_4(Bf;ufxtl=445z~Ontf3A|kQbT^Bk} zDug22bqdKu>LDjyyfGX>kLRJL`=`0PzazPvEESZr80Z~5hWCb!pp2UxZI>BD*qBAq zDlt~xpmzwDgxhT2@JkvC4X&cfW2gZZmghgmP%MrurcNumUQ)VvV)o=PKxQ0!7o_HJ z_EL&r=YsDUKSQRrxqboK9R9lXw^|xic&lrG+y8EBU8sxjtZRV&=X{J?Y6ibuTNlY+ zTBnWy_TqRnzyM(3_9jE5xVd%!?%|=?+a1NZ`IGQ7W^`+92?>XG7Z@QZ{+k5c8T-93 zy(Zi(Mb9po3^MlfjK}vhIyzrQFmwp*t-K}52I7+o0zIlxsTqLqg)x00ESXgXm#0o) z!J+EQ2U|M;CD9?bflHI8Fth9+Jv-*wxd%!Dy!^$-j>F4`+z`cllou#!Z3uvdXFqc?QN)Sq zrXc|OJKM^wewazC6x2UJZxrK^b|#a5HuY`{*33GPNq{5h=zSN*-;bb`sguT!Nxhp3 zjsP@_{QjK<%W~s!X0nCXng!h=CCj$8n+&fP{ujCtdNqXLp%>w+@P<9}$InqoEp+P0J+LT0jh9=v68{RH&N%}wpGac>w70^pe7}VAGYgJ?>RXopbN0vP*4D<( z$L2qMn?zz&^PUxF%xIp4IXyRsNbe-lAdq-z5I`Os0T}@lfW%WFfIK<^G6E<7iKjvU zd2|G11W*7HPlW*T=m^LNpa3ME3IXKN5s(o;0Z2R*0?4ByAR~YRka#KtkVi*AMgRpM x@l*&PkB)$h0180jsSrRO9RV2u6oAB2`5zkH`L8@}ItBm$002ovPDHLkV1jCBo$~+y literal 0 HcmV?d00001 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad-spotlight@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f3bfe7c0242dcecc1ab785ffc1438a674cfd5f2c GIT binary patch literal 3991 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 literal 0 HcmV?d00001 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon-ipad@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c47b7752ebded78d2f77e4baf9a3f5ff65fcb659 GIT binary patch literal 3936 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 U^hc}zdlv$9wH|3UsN2W>2V!U9!2kdN literal 0 HcmV?d00001 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone App Icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..728c48c142447463a7fb2436c5a36ae842af5e18 GIT binary patch literal 4590 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 literal 0 HcmV?d00001 diff --git a/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png b/SampleApps/SPMTest/SPMTest/Assets.xcassets/AppIcon.appiconset/120 - iPhone Pro App Icon-ipad@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c94ea173bf2d70f8016c31e073150acc853f15e1 GIT binary patch literal 5073 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 h@tMH?ujS5f@arD5W_y<2{texRwgyU00>e5 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

T#kT|qD_WPl_Y#l#zluE-fs1r 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 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard b/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard new file mode 100644 index 0000000000..25a763858e --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SampleApps/SPMTest/SPMTest/Info.plist b/SampleApps/SPMTest/SPMTest/Info.plist new file mode 100644 index 0000000000..2a6805b164 --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/Info.plist @@ -0,0 +1,68 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + NSLocationWhenInUseUsageDescription + Location isn't used + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/SampleApps/SPMTest/SPMTest/SceneDelegate.swift b/SampleApps/SPMTest/SPMTest/SceneDelegate.swift new file mode 100644 index 0000000000..d47e9706ea --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/SceneDelegate.swift @@ -0,0 +1,45 @@ +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + guard let _ = (scene as? UIWindowScene) else { return } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/SampleApps/SPMTest/SPMTest/ViewController.swift b/SampleApps/SPMTest/SPMTest/ViewController.swift new file mode 100644 index 0000000000..e1eafe7ecb --- /dev/null +++ b/SampleApps/SPMTest/SPMTest/ViewController.swift @@ -0,0 +1,32 @@ +import UIKit +import BraintreeAmericanExpress +import BraintreeApplePay +import BraintreeCard +import BraintreeCore +import BraintreeDataCollector +import BraintreeLocalPayment +import BraintreePayPal +import BraintreePayPalMessaging +import BraintreeThreeDSecure +import BraintreeVenmo +import BraintreePayPalNativeCheckout +import BraintreeSEPADirectDebit + +class ViewController: UIViewController { + + override func viewDidLoad() { + let apiClient = BTAPIClient(authorization: "sandbox_9dbg82cq_dcpspy2brwdjr3qn")! + + let amexClient = BTAmericanExpressClient(apiClient: apiClient) + let applePayClient = BTApplePayClient(apiClient: apiClient) + let cardClient = BTCardClient(apiClient: apiClient) + let dataCollector = BTDataCollector(apiClient: apiClient) + let localPaymentClient = BTLocalPaymentClient(apiClient: apiClient) + let payPalClient = BTPayPalClient(apiClient: apiClient) + let payPalMessagingView = BTPayPalMessagingView(apiClient: apiClient) + let threeDSecureClient = BTThreeDSecureClient(apiClient: apiClient) + let venmoClient = BTVenmoClient(apiClient: apiClient) + let payPalNativeCheckoutClient = BTPayPalNativeCheckoutClient(apiClient: apiClient) + let sepaDirectDebitClient = BTSEPADirectDebitClient(apiClient: apiClient) + } +}