diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e5968059f..805fa52928 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,17 @@ # Braintree iOS SDK Release Notes +## unreleased +* Swift Package Manager + * Remove product libraries for `KountDataCollector`, `PPRiskMagnes`, and `CardinalMobile` (requires Xcode 12.5+) + _Notes:_ + * This was a workaround for an Xcode bug discussed in #576. The bug resolved in Xcode 12.5. + * You can remove the `KountDataCollector`, `PPRiskMagnes`, and `CardinalMobile` explicit dependencies. + * You can also remove any run-script phase or post-action [previously required](/SWIFT_PACKAGE_MANAGER.md) for using these frameworks. + * Xcode 13 Beta + * Remove invalid file path exclusions from `Package.swift` (thanks @JonathanDowning) + ## 5.4.1 (2021-06-22) * Re-add `BraintreeCore` dependency to `PayPalDataCollector` for Swift Package Manager archive issue workaround (fixes #679) -* Xcode 13 Beta - * Remove invalid file path exclusions from `Package.swift` (thanks @JonathanDowning) ## 5.4.0 (2021-06-07) * Venmo @@ -748,7 +756,7 @@ As always, feel free to [open an Issue](https://github.com/braintree/braintree_i * Fix bug in Demo app * Menu button now works correctly * Fix bug with PayPal app switching - * The bug occurred when installing a new app after the Braintree SDK had been initialized. When attempting to authorize with PayPal in this scenario, the SDK would switch to the `wallet` and launch the `in-app` authorization. + * The bug occurred when installing a new app after the Braintree SDK had been initialized. When attempting to authorize with PayPal in this scenario, the SDK would switch to the `wallet` and launch the `in-app` authorization. ## 3.8.1 (2015-05-22) @@ -839,11 +847,11 @@ As always, feel free to [open an Issue](https://github.com/braintree/braintree_i * Update PayPal Mobile SDK to new version (PayPal-iOS-SDK 2.8.4-bt1) that does not include card.io. * :rotating_light: Please note! :rotating_light: - This change breaks builds that depend on a workaround introduced in 3.4.0 that added card.io headers to fix [card.io duplicate symbol issues](https://github.com/braintree/braintree_ios/issues/53). + This change breaks builds that depend on a workaround introduced in 3.4.0 that added card.io headers to fix [card.io duplicate symbol issues](https://github.com/braintree/braintree_ios/issues/53). - Since card.io is not officially part of the Braintree API, and since the headers were only included as part of a workaround for use by a small group of developers, this potentially-breaking change is not accompanied by a major version release. + Since card.io is not officially part of the Braintree API, and since the headers were only included as part of a workaround for use by a small group of developers, this potentially-breaking change is not accompanied by a major version release. - If your build breaks due to this change, you can re-add card.io to your project's Podfile: + If your build breaks due to this change, you can re-add card.io to your project's Podfile: pod 'CardIO', '~> 4.0' @@ -899,7 +907,7 @@ As always, feel free to [open an Issue](https://github.com/braintree/braintree_i * Upgrade PayPal Mobile SDK to version 2.7.1 * Fixes symbol conflicts with 1Password - * Upgrades embedded card.io library to version 3.10.1 + * Upgrades embedded card.io library to version 3.10.1 ## 3.4.1 (2014-11-05) @@ -969,7 +977,7 @@ As always, feel free to [open an Issue](https://github.com/braintree/braintree_i * Test improvements * Internal API tweaks * Update PayPal implementation to always support PayPal display email/phone across client and server - * Your PayPal app (client ID) must now have the email scope capability. This is default for Braintree-provisioned PayPal apps. + * Your PayPal app (client ID) must now have the email scope capability. This is default for Braintree-provisioned PayPal apps. * Improved Braintree-Demo app that demonstrates many integration styles * Upgraded underlying PayPal Mobile SDK diff --git a/Package.swift b/Package.swift index 1479c4606a..37ab5090df 100644 --- a/Package.swift +++ b/Package.swift @@ -25,7 +25,7 @@ let package = Package( ), .library( name: "BraintreeDataCollector", - targets: ["BraintreeDataCollector"] + targets: ["BraintreeDataCollector", "KountDataCollector"] ), .library( name: "BraintreePaymentFlow", @@ -37,11 +37,7 @@ let package = Package( ), .library( name: "BraintreeThreeDSecure", - targets: ["BraintreeThreeDSecure"] - ), - .library( - name: "CardinalMobile", - targets: ["CardinalMobile"] + targets: ["BraintreeThreeDSecure", "CardinalMobile"] ), .library( name: "BraintreeUnionPay", @@ -51,17 +47,9 @@ let package = Package( name: "BraintreeVenmo", targets: ["BraintreeVenmo"] ), - .library( - name: "KountDataCollector", - targets: ["KountDataCollector"] - ), .library( name: "PayPalDataCollector", - targets: ["PayPalDataCollector"] - ), - .library( - name: "PPRiskMagnes", - targets: ["PPRiskMagnes"] + targets: ["PayPalDataCollector", "PPRiskMagnes"] ) ], dependencies: [ diff --git a/README.md b/README.md index e2f95cd81b..d6827cc07e 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,20 @@ We recommend using [Swift Package Manager](https://swift.org/package-manager/), ### Swift Package Manager _This feature is only available in v5._ -See our [Swift Package Manager guide](https://github.com/braintree/braintree_ios/blob/master/SWIFT_PACKAGE_MANAGER.md) for instructions on integrating with SPM. +To add the `Braintree` package to your Xcode project, select _File > Swift Packages > Add Package Dependency_ and enter `https://github.com/braintree/braintree_ios` as the repository URL. Tick the checkboxes for the specific Braintree libraries you wish to include. + +If you look at your app target, you will see that the Braintree libraries you chose are automatically linked as a frameworks to your app (see _General > Frameworks, Libraries, and Embedded Content_). + +In your app's source code files, use the following import syntax to include Braintree's libraries: +``` +import BraintreeCore +import BraintreeCard +import BraintreeApplePay +import BraintreePayPal +``` + +**Braintree 5.X.0 requires Xcode 12.5+ for SPM.** We recommend using the latest version for the simplest SPM integration. If using Braintree 5.X.0 and below, please see our [Swift Package Manager guide](https://github.com/braintree/braintree_ios/blob/master/SWIFT_PACKAGE_MANAGER.md) for specific workarounds required to use these older versions. + ### CocoaPods ``` diff --git a/SWIFT_PACKAGE_MANAGER.md b/SWIFT_PACKAGE_MANAGER.md index 5d1d4e1ab2..be06b44388 100644 --- a/SWIFT_PACKAGE_MANAGER.md +++ b/SWIFT_PACKAGE_MANAGER.md @@ -1,28 +1,15 @@ -# Swift Package Manager Instructions +# Swift Package Manager Instructions (for Braintree 5.0.0 to 5.X.0) -Support for Swift Package Manager was introduced in Braintree iOS v5. +It is recommended to update to Braintree 5.X.0+ and Xcode 12.5 for the best SPM experience. -* [General Instructions](#general-instructions) * [Binary Dependencies](#binary-dependencies) * [BraintreeDataCollector](#braintreedatacollector) * [BraintreeThreeDSecure](#braintreethreedsecure) -### General Instructions - -To add the `Braintree` package to your Xcode project, select _File > Swift Packages > Add Package Dependency_ and enter `https://github.com/braintree/braintree_ios` as the repository URL. Tick the checkboxes for the specific Braintree libraries you wish to include. - -If you look at your app target, you will see that the Braintree libraries you chose are automatically linked as a frameworks to your app (see _General > Frameworks, Libraries, and Embedded Content_). - -In your app's source code files, use the following import syntax to include Braintree's libraries: -``` -import BraintreeCore -import BraintreeCard -import BraintreeApplePay -import BraintreePayPal -``` - ### Binary Dependencies +#### Versions 5.0.0 to 5.X.0 + There is a known Xcode bug, reported in [this GitHub issue](https://github.com/braintree/braintree_ios/issues/576), that occurs when archiving apps that include binary dependencies via SPM. The workaround is to tick the checkboxes to explicitly include these binary dependencies in your app. To use the `BraintreeDataCollector` library, you must also check the box for `KountDataCollector`. @@ -35,6 +22,8 @@ If your app uses app extensions, there is a [known SPM issue](https://forums.swi ### BraintreeDataCollector +#### Versions 5.0.0 to 5.X.0 + There is a [known bug](https://forums.swift.org/t/packaging-static-library-in-spm-package-for-ios-executable/41245/13) that occurs when uploading static libraries packaged as xcframeworks for Swift Package Manager. To avoid this issue, you must add a post-action to your scheme's Build section that removes an extra copy of `libKountDataCollector.a`. @@ -48,7 +37,7 @@ Make sure to select your app's target in the _Provide build settings from_ drop- ### BraintreeThreeDSecure -#### Versions 5.3.0+ +#### Versions 5.3.0 to 5.X.0 If you are using `BraintreeThreeDSecure`, you must also explicitly include `CardinalMobile` and `PPRiskMagnes`, both of which can be included through SPM. diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj b/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj index 750c67b977..a432fe943c 100644 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/project.pbxproj @@ -7,26 +7,23 @@ objects = { /* Begin PBXBuildFile section */ - 42F3F7172603BC3E00401B0D /* BraintreeUnionPay in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7162603BC3E00401B0D /* BraintreeUnionPay */; }; - 42F3F7192603BC3E00401B0D /* BraintreePayPal in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7182603BC3E00401B0D /* BraintreePayPal */; }; - 42F3F71B2603BC3E00401B0D /* KountDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F71A2603BC3E00401B0D /* KountDataCollector */; }; - 42F3F71D2603BC3E00401B0D /* BraintreeVenmo in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F71C2603BC3E00401B0D /* BraintreeVenmo */; }; - 42F3F71F2603BC3E00401B0D /* BraintreeCore in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F71E2603BC3E00401B0D /* BraintreeCore */; }; - 42F3F7212603BC3E00401B0D /* BraintreeCard in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7202603BC3E00401B0D /* BraintreeCard */; }; - 42F3F7232603BC3E00401B0D /* BraintreePaymentFlow in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7222603BC3E00401B0D /* BraintreePaymentFlow */; }; - 42F3F7252603BC3E00401B0D /* PPRiskMagnes in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7242603BC3E00401B0D /* PPRiskMagnes */; }; - 42F3F7272603BC3E00401B0D /* BraintreeDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7262603BC3E00401B0D /* BraintreeDataCollector */; }; - 42F3F7292603BC3E00401B0D /* PayPalDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7282603BC3E00401B0D /* PayPalDataCollector */; }; - 42F3F72B2603BC3E00401B0D /* BraintreeApplePay in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F72A2603BC3E00401B0D /* BraintreeApplePay */; }; - 42F3F72D2603BC3E00401B0D /* CardinalMobile in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F72C2603BC3E00401B0D /* CardinalMobile */; }; - 42F3F72F2603BC3E00401B0D /* BraintreeAmericanExpress in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F72E2603BC3E00401B0D /* BraintreeAmericanExpress */; }; - 42F3F7312603BC3E00401B0D /* BraintreeThreeDSecure in Frameworks */ = {isa = PBXBuildFile; productRef = 42F3F7302603BC3E00401B0D /* BraintreeThreeDSecure */; }; 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 */; }; + 80D0490D2668312D00B53FDE /* BraintreePaymentFlow in Frameworks */ = {isa = PBXBuildFile; productRef = 80D0490C2668312D00B53FDE /* BraintreePaymentFlow */; }; + 80D0490F2668312D00B53FDE /* BraintreeAmericanExpress in Frameworks */ = {isa = PBXBuildFile; productRef = 80D0490E2668312D00B53FDE /* BraintreeAmericanExpress */; }; + 80D049112668312D00B53FDE /* BraintreeThreeDSecure in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049102668312D00B53FDE /* BraintreeThreeDSecure */; }; + 80D049132668312D00B53FDE /* BraintreeApplePay in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049122668312D00B53FDE /* BraintreeApplePay */; }; + 80D049152668312D00B53FDE /* BraintreePayPal in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049142668312D00B53FDE /* BraintreePayPal */; }; + 80D049172668312D00B53FDE /* BraintreeCore in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049162668312D00B53FDE /* BraintreeCore */; }; + 80D049192668312D00B53FDE /* PayPalDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049182668312D00B53FDE /* PayPalDataCollector */; }; + 80D0491B2668312D00B53FDE /* BraintreeDataCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 80D0491A2668312D00B53FDE /* BraintreeDataCollector */; }; + 80D0491D2668312D00B53FDE /* BraintreeUnionPay in Frameworks */ = {isa = PBXBuildFile; productRef = 80D0491C2668312D00B53FDE /* BraintreeUnionPay */; }; + 80D0491F2668312D00B53FDE /* BraintreeCard in Frameworks */ = {isa = PBXBuildFile; productRef = 80D0491E2668312D00B53FDE /* BraintreeCard */; }; + 80D049212668312D00B53FDE /* BraintreeVenmo in Frameworks */ = {isa = PBXBuildFile; productRef = 80D049202668312D00B53FDE /* BraintreeVenmo */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -46,20 +43,17 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 42F3F7252603BC3E00401B0D /* PPRiskMagnes in Frameworks */, - 42F3F71F2603BC3E00401B0D /* BraintreeCore in Frameworks */, - 42F3F7272603BC3E00401B0D /* BraintreeDataCollector in Frameworks */, - 42F3F71B2603BC3E00401B0D /* KountDataCollector in Frameworks */, - 42F3F72D2603BC3E00401B0D /* CardinalMobile in Frameworks */, - 42F3F7192603BC3E00401B0D /* BraintreePayPal in Frameworks */, - 42F3F7312603BC3E00401B0D /* BraintreeThreeDSecure in Frameworks */, - 42F3F7292603BC3E00401B0D /* PayPalDataCollector in Frameworks */, - 42F3F7212603BC3E00401B0D /* BraintreeCard in Frameworks */, - 42F3F72B2603BC3E00401B0D /* BraintreeApplePay in Frameworks */, - 42F3F7172603BC3E00401B0D /* BraintreeUnionPay in Frameworks */, - 42F3F71D2603BC3E00401B0D /* BraintreeVenmo in Frameworks */, - 42F3F7232603BC3E00401B0D /* BraintreePaymentFlow in Frameworks */, - 42F3F72F2603BC3E00401B0D /* BraintreeAmericanExpress in Frameworks */, + 80D049212668312D00B53FDE /* BraintreeVenmo in Frameworks */, + 80D049172668312D00B53FDE /* BraintreeCore in Frameworks */, + 80D0491D2668312D00B53FDE /* BraintreeUnionPay in Frameworks */, + 80D049112668312D00B53FDE /* BraintreeThreeDSecure in Frameworks */, + 80D049132668312D00B53FDE /* BraintreeApplePay in Frameworks */, + 80D0491B2668312D00B53FDE /* BraintreeDataCollector in Frameworks */, + 80D049152668312D00B53FDE /* BraintreePayPal in Frameworks */, + 80D0490F2668312D00B53FDE /* BraintreeAmericanExpress in Frameworks */, + 80D0490D2668312D00B53FDE /* BraintreePaymentFlow in Frameworks */, + 80D049192668312D00B53FDE /* PayPalDataCollector in Frameworks */, + 80D0491F2668312D00B53FDE /* BraintreeCard in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -122,20 +116,17 @@ ); name = SPMTest; packageProductDependencies = ( - 42F3F7162603BC3E00401B0D /* BraintreeUnionPay */, - 42F3F7182603BC3E00401B0D /* BraintreePayPal */, - 42F3F71A2603BC3E00401B0D /* KountDataCollector */, - 42F3F71C2603BC3E00401B0D /* BraintreeVenmo */, - 42F3F71E2603BC3E00401B0D /* BraintreeCore */, - 42F3F7202603BC3E00401B0D /* BraintreeCard */, - 42F3F7222603BC3E00401B0D /* BraintreePaymentFlow */, - 42F3F7242603BC3E00401B0D /* PPRiskMagnes */, - 42F3F7262603BC3E00401B0D /* BraintreeDataCollector */, - 42F3F7282603BC3E00401B0D /* PayPalDataCollector */, - 42F3F72A2603BC3E00401B0D /* BraintreeApplePay */, - 42F3F72C2603BC3E00401B0D /* CardinalMobile */, - 42F3F72E2603BC3E00401B0D /* BraintreeAmericanExpress */, - 42F3F7302603BC3E00401B0D /* BraintreeThreeDSecure */, + 80D0490C2668312D00B53FDE /* BraintreePaymentFlow */, + 80D0490E2668312D00B53FDE /* BraintreeAmericanExpress */, + 80D049102668312D00B53FDE /* BraintreeThreeDSecure */, + 80D049122668312D00B53FDE /* BraintreeApplePay */, + 80D049142668312D00B53FDE /* BraintreePayPal */, + 80D049162668312D00B53FDE /* BraintreeCore */, + 80D049182668312D00B53FDE /* PayPalDataCollector */, + 80D0491A2668312D00B53FDE /* BraintreeDataCollector */, + 80D0491C2668312D00B53FDE /* BraintreeUnionPay */, + 80D0491E2668312D00B53FDE /* BraintreeCard */, + 80D049202668312D00B53FDE /* BraintreeVenmo */, ); productName = SPMTest; productReference = 80214E002551FB5A00695A6F /* SPMTest.app */; @@ -165,7 +156,7 @@ ); mainGroup = 80214DF72551FB5A00695A6F; packageReferences = ( - 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */, + 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */, ); productRefGroup = 80214E012551FB5A00695A6F /* Products */; projectDirPath = ""; @@ -413,86 +404,71 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */ = { + 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/braintree/braintree_ios.git"; + repositoryURL = "https://github.com/braintree/braintree_ios"; requirement = { - branch = master; + branch = "spm-binary-fix-xcode12-5"; kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 42F3F7162603BC3E00401B0D /* BraintreeUnionPay */ = { + 80D0490C2668312D00B53FDE /* BraintreePaymentFlow */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeUnionPay; - }; - 42F3F7182603BC3E00401B0D /* BraintreePayPal */ = { - isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreePayPal; - }; - 42F3F71A2603BC3E00401B0D /* KountDataCollector */ = { - isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = KountDataCollector; - }; - 42F3F71C2603BC3E00401B0D /* BraintreeVenmo */ = { - isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeVenmo; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreePaymentFlow; }; - 42F3F71E2603BC3E00401B0D /* BraintreeCore */ = { + 80D0490E2668312D00B53FDE /* BraintreeAmericanExpress */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeCore; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeAmericanExpress; }; - 42F3F7202603BC3E00401B0D /* BraintreeCard */ = { + 80D049102668312D00B53FDE /* BraintreeThreeDSecure */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeCard; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeThreeDSecure; }; - 42F3F7222603BC3E00401B0D /* BraintreePaymentFlow */ = { + 80D049122668312D00B53FDE /* BraintreeApplePay */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreePaymentFlow; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeApplePay; }; - 42F3F7242603BC3E00401B0D /* PPRiskMagnes */ = { + 80D049142668312D00B53FDE /* BraintreePayPal */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = PPRiskMagnes; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreePayPal; }; - 42F3F7262603BC3E00401B0D /* BraintreeDataCollector */ = { + 80D049162668312D00B53FDE /* BraintreeCore */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeDataCollector; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeCore; }; - 42F3F7282603BC3E00401B0D /* PayPalDataCollector */ = { + 80D049182668312D00B53FDE /* PayPalDataCollector */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; productName = PayPalDataCollector; }; - 42F3F72A2603BC3E00401B0D /* BraintreeApplePay */ = { + 80D0491A2668312D00B53FDE /* BraintreeDataCollector */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeApplePay; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeDataCollector; }; - 42F3F72C2603BC3E00401B0D /* CardinalMobile */ = { + 80D0491C2668312D00B53FDE /* BraintreeUnionPay */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = CardinalMobile; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeUnionPay; }; - 42F3F72E2603BC3E00401B0D /* BraintreeAmericanExpress */ = { + 80D0491E2668312D00B53FDE /* BraintreeCard */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeAmericanExpress; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeCard; }; - 42F3F7302603BC3E00401B0D /* BraintreeThreeDSecure */ = { + 80D049202668312D00B53FDE /* BraintreeVenmo */ = { isa = XCSwiftPackageProductDependency; - package = 42F3F7152603BC3E00401B0D /* XCRemoteSwiftPackageReference "braintree_ios" */; - productName = BraintreeThreeDSecure; + package = 80D0490B2668312D00B53FDE /* XCRemoteSwiftPackageReference "braintree_ios" */; + productName = BraintreeVenmo; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme b/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme index 460007f15b..38ec8a362a 100644 --- a/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme +++ b/SampleApps/SPMTest/SPMTest.xcodeproj/xcshareddata/xcschemes/SPMTest.xcscheme @@ -1,28 +1,10 @@ + version = "1.3"> - - - - - - - - - -