From f31161132a770b1b4f964dfc5d253be6760d1917 Mon Sep 17 00:00:00 2001 From: nschris-stripe Date: Mon, 9 Dec 2024 12:52:08 -0500 Subject: [PATCH 01/12] Prepare connect sdk for release. --- Package.swift | 9 ++++++ StripeConnect.podspec | 21 ++++++++++++ .../CarthageTest.xcodeproj/project.pbxproj | 30 ++++------------- .../CarthageTest/ViewController.swift | 32 ++++++++----------- .../CocoapodsTest.xcodeproj/project.pbxproj | 2 ++ .../CocoapodsTest/ViewController.swift | 32 ++++++++----------- .../cocoapods/with_frameworks_swift/Podfile | 1 + .../SPMTest.xcodeproj/project.pbxproj | 9 +++++- .../with_swift/SPMTest/ViewController.swift | 7 +++- modules.yaml | 9 ++++++ 10 files changed, 90 insertions(+), 62 deletions(-) create mode 100644 StripeConnect.podspec diff --git a/Package.swift b/Package.swift index d351d0ff1c3..bdffac03b27 100644 --- a/Package.swift +++ b/Package.swift @@ -39,6 +39,10 @@ let package = Package( .library( name: "StripeFinancialConnections", targets: ["StripeFinancialConnections"] + ), + .library( + name: "StripeConnect", + targets: ["StripeConnect"] ) ], targets: [ @@ -152,6 +156,11 @@ let package = Package( .process("Resources/Images"), .process("PrivacyInfo.xcprivacy") ] + ), + .target( + name: "StripeConnect", + dependencies: ["StripeCore", "StripeUICore"], + path: "StripeConnect/StripeConnect" ) ] ) diff --git a/StripeConnect.podspec b/StripeConnect.podspec new file mode 100644 index 00000000000..064b5a862ce --- /dev/null +++ b/StripeConnect.podspec @@ -0,0 +1,21 @@ +Pod::Spec.new do |s| + s.name = 'StripeConnect' + + # Do not update s.version directly. + # Instead, update the VERSION file and run ./ci_scripts/update_version.sh + s.version = '23.30.0' + + s.summary = 'Use Connect embedded components to add connected account dashboard functionality to your app.' + s.license = { type: 'MIT', file: 'LICENSE' } + s.homepage = 'https://docs.stripe.com/connect/get-started-connect-embedded-components' + s.authors = { 'Stripe' => 'support+github@stripe.com' } + s.source = { git: 'https://github.com/stripe/stripe-ios.git', tag: "#{s.version}" } + s.frameworks = 'Foundation', 'WebKit', 'UIKit' + s.requires_arc = true + s.platform = :ios + s.swift_version = '5.0' + s.ios.deployment_target = '13.0' + s.source_files = 'StripeConnect/StripeConnect/**/*.swift' + s.dependency 'StripeCore', s.version.to_s + s.dependency 'StripeUICore', s.version.to_s +end diff --git a/Tests/installation_tests/carthage/CarthageTest.xcodeproj/project.pbxproj b/Tests/installation_tests/carthage/CarthageTest.xcodeproj/project.pbxproj index 28af3ec6a48..a7017bcd6bb 100644 --- a/Tests/installation_tests/carthage/CarthageTest.xcodeproj/project.pbxproj +++ b/Tests/installation_tests/carthage/CarthageTest.xcodeproj/project.pbxproj @@ -13,22 +13,18 @@ 04E6FCEE1B714AC2000C8759 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 04E6FCED1B714AC2000C8759 /* Images.xcassets */; }; 04E6FCF11B714AC2000C8759 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 04E6FCEF1B714AC2000C8759 /* LaunchScreen.xib */; }; 31138E6F28DBD87B008AF554 /* StripePaymentSheet.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E6E28DBD87B008AF554 /* StripePaymentSheet.xcframework */; }; - 31138E7028DBD87B008AF554 /* StripePaymentSheet.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E6E28DBD87B008AF554 /* StripePaymentSheet.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 31138E7228DBD87D008AF554 /* StripePaymentsUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E7128DBD87D008AF554 /* StripePaymentsUI.xcframework */; }; - 31138E7328DBD87E008AF554 /* StripePaymentsUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E7128DBD87D008AF554 /* StripePaymentsUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 31138E7528DBD881008AF554 /* StripePayments.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E7428DBD881008AF554 /* StripePayments.xcframework */; }; - 31138E7628DBD881008AF554 /* StripePayments.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138E7428DBD881008AF554 /* StripePayments.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 3137B69427437E3500CE7F5C /* StripeApplePay.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69327437E3500CE7F5C /* StripeApplePay.xcframework */; }; 31CA744B25CCC669007FE8BF /* Stripe3DS2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31CA744A25CCC669007FE8BF /* Stripe3DS2.xcframework */; }; 31FF1DB1255FA383000EF4B0 /* Stripe.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04E6FD061B714DDF000C8759 /* Stripe.xcframework */; }; - 31FF1DB2255FA383000EF4B0 /* Stripe.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 04E6FD061B714DDF000C8759 /* Stripe.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 3B3F01C227445CDE00C53D34 /* StripeUICoreAssetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B3F01C127445CDE00C53D34 /* StripeUICoreAssetTests.swift */; }; 3BD980302741675500B09BCD /* ModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD9802F2741675500B09BCD /* ModelTests.swift */; }; 3BD9808F27431DFE00B09BCD /* StripeCardScan.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BD9808E27431DFE00B09BCD /* StripeCardScan.xcframework */; }; 3C4D20AD273C673200BC6444 /* StripeFinancialConnections.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D20AC273C673200BC6444 /* StripeFinancialConnections.xcframework */; }; E6AA24ED2744ABE000FD205E /* StripeCameraCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B6743274344E400CFEDBA /* StripeCameraCore.xcframework */; }; - E6AA24EE2744ABE000FD205E /* StripeCameraCore.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E63B6743274344E400CFEDBA /* StripeCameraCore.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; E6AFFAF526E972950067462F /* StripeUICore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF426E972950067462F /* StripeUICore.xcframework */; }; + E6C5F5FE2CA109F100861709 /* StripeConnect.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6C5F5FD2CA109F100861709 /* StripeConnect.xcframework */; }; E6F05EAA2687C76F00614D61 /* StripeCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6F05EA92687C76F00614D61 /* StripeCore.xcframework */; }; /* End PBXBuildFile section */ @@ -42,24 +38,6 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 31FF1DB3255FA383000EF4B0 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 31138E7028DBD87B008AF554 /* StripePaymentSheet.xcframework in Embed Frameworks */, - 31138E7328DBD87E008AF554 /* StripePaymentsUI.xcframework in Embed Frameworks */, - E6AA24EE2744ABE000FD205E /* StripeCameraCore.xcframework in Embed Frameworks */, - 31FF1DB2255FA383000EF4B0 /* Stripe.xcframework in Embed Frameworks */, - 31138E7628DBD881008AF554 /* StripePayments.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 04E6FCE11B714AC2000C8759 /* CarthageTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CarthageTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; 04E6FCE51B714AC2000C8759 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -83,6 +61,7 @@ E63B6743274344E400CFEDBA /* StripeCameraCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = StripeCameraCore.xcframework; path = Carthage/Build/StripeCameraCore.xcframework; sourceTree = ""; }; E6A36A5B26BA4E0E002A4427 /* StripeIdentity.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = StripeIdentity.xcframework; path = Carthage/Build/StripeIdentity.xcframework; sourceTree = ""; }; E6AFFAF426E972950067462F /* StripeUICore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = StripeUICore.xcframework; path = Carthage/Build/StripeUICore.xcframework; sourceTree = ""; }; + E6C5F5FD2CA109F100861709 /* StripeConnect.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = StripeConnect.xcframework; path = Carthage/Build/StripeConnect.xcframework; sourceTree = ""; }; E6F05EA92687C76F00614D61 /* StripeCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = StripeCore.xcframework; path = Carthage/Build/StripeCore.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ @@ -99,6 +78,7 @@ 3C4D20AD273C673200BC6444 /* StripeFinancialConnections.xcframework in Frameworks */, 31138E7228DBD87D008AF554 /* StripePaymentsUI.xcframework in Frameworks */, 3137B69427437E3500CE7F5C /* StripeApplePay.xcframework in Frameworks */, + E6C5F5FE2CA109F100861709 /* StripeConnect.xcframework in Frameworks */, E6AA24ED2744ABE000FD205E /* StripeCameraCore.xcframework in Frameworks */, 31CA744B25CCC669007FE8BF /* Stripe3DS2.xcframework in Frameworks */, E6AFFAF526E972950067462F /* StripeUICore.xcframework in Frameworks */, @@ -177,6 +157,7 @@ 31CA744925CCC669007FE8BF /* Frameworks */ = { isa = PBXGroup; children = ( + E6C5F5FD2CA109F100861709 /* StripeConnect.xcframework */, 31138E7428DBD881008AF554 /* StripePayments.xcframework */, 31138E7128DBD87D008AF554 /* StripePaymentsUI.xcframework */, 31138E6E28DBD87B008AF554 /* StripePaymentSheet.xcframework */, @@ -202,7 +183,6 @@ 04E6FCDD1B714AC2000C8759 /* Sources */, 04E6FCDE1B714AC2000C8759 /* Frameworks */, 04E6FCDF1B714AC2000C8759 /* Resources */, - 31FF1DB3255FA383000EF4B0 /* Embed Frameworks */, ); buildRules = ( ); @@ -435,6 +415,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = CarthageTest/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -454,6 +435,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = CarthageTest/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/Tests/installation_tests/carthage/CarthageTest/ViewController.swift b/Tests/installation_tests/carthage/CarthageTest/ViewController.swift index cda3a773946..13932e84b26 100644 --- a/Tests/installation_tests/carthage/CarthageTest/ViewController.swift +++ b/Tests/installation_tests/carthage/CarthageTest/ViewController.swift @@ -9,6 +9,7 @@ import Stripe import StripeApplePay import StripeCardScan +@_spi(PrivateBetaConnect) import StripeConnect import StripeFinancialConnections import UIKit @@ -19,25 +20,20 @@ class ViewController: UIViewController { StripeAPI.defaultPublishableKey = "test" StripeAPI.paymentRequest(withMerchantIdentifier: "test", country: "US", currency: "USD") - if #available(iOS 12.0, *) { - let _ = FinancialConnectionsSheet( - financialConnectionsSessionClientSecret: "", - returnURL: nil - ) - } + let _ = FinancialConnectionsSheet( + financialConnectionsSessionClientSecret: "", + returnURL: nil + ) - if #available(iOS 11.2, *) { - let _ = CardImageVerificationSheet( - cardImageVerificationIntentId: "foo", - cardImageVerificationIntentSecret: "foo" - ) - } - // Do any additional setup after loading the view, typically from a nib. - } + let _ = CardImageVerificationSheet( + cardImageVerificationIntentId: "foo", + cardImageVerificationIntentSecret: "foo" + ) - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. + if #available(iOS 15.0, *) { + let _ = EmbeddedComponentManager { + return nil + } + } } - } diff --git a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest.xcodeproj/project.pbxproj b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest.xcodeproj/project.pbxproj index 0d55124390e..84574a22282 100644 --- a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest.xcodeproj/project.pbxproj +++ b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest.xcodeproj/project.pbxproj @@ -372,6 +372,7 @@ "${BUILT_PRODUCTS_DIR}/StripeApplePay/StripeApplePay.framework", "${BUILT_PRODUCTS_DIR}/StripeCameraCore/StripeCameraCore.framework", "${BUILT_PRODUCTS_DIR}/StripeCardScan/StripeCardScan.framework", + "${BUILT_PRODUCTS_DIR}/StripeConnect/StripeConnect.framework", "${BUILT_PRODUCTS_DIR}/StripeCore/StripeCore.framework", "${BUILT_PRODUCTS_DIR}/StripeFinancialConnections/StripeFinancialConnections.framework", "${BUILT_PRODUCTS_DIR}/StripeIdentity/StripeIdentity.framework", @@ -386,6 +387,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeApplePay.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeCameraCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeCardScan.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeConnect.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeFinancialConnections.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeIdentity.framework", diff --git a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/ViewController.swift b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/ViewController.swift index 6a491ba159d..b1474e03a92 100644 --- a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/ViewController.swift +++ b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/ViewController.swift @@ -9,6 +9,7 @@ import Stripe import StripeApplePay import StripeCardScan +@_spi(PrivateBetaConnect) import StripeConnect import StripeFinancialConnections import StripeIdentity import StripePaymentSheet @@ -24,30 +25,25 @@ class ViewController: UIViewController { let _ = IdentityVerificationSheet(verificationSessionClientSecret: "test") } - if #available(iOS 12.0, *) { - let _ = FinancialConnectionsSheet( - financialConnectionsSessionClientSecret: "", - returnURL: nil - ) - } + let _ = FinancialConnectionsSheet( + financialConnectionsSessionClientSecret: "", + returnURL: nil + ) - if #available(iOS 11.2, *) { - let _ = CardImageVerificationSheet( - cardImageVerificationIntentId: "foo", - cardImageVerificationIntentSecret: "foo" - ) - } + let _ = CardImageVerificationSheet( + cardImageVerificationIntentId: "foo", + cardImageVerificationIntentSecret: "foo" + ) let _ = PaymentSheet( paymentIntentClientSecret: "", configuration: PaymentSheet.Configuration() ) - // Do any additional setup after loading the view, typically from a nib. - } - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. + if #available(iOS 15.0, *) { + let _ = EmbeddedComponentManager { + nil + } + } } - } diff --git a/Tests/installation_tests/cocoapods/with_frameworks_swift/Podfile b/Tests/installation_tests/cocoapods/with_frameworks_swift/Podfile index b3c69bce5d9..8c14da73a52 100644 --- a/Tests/installation_tests/cocoapods/with_frameworks_swift/Podfile +++ b/Tests/installation_tests/cocoapods/with_frameworks_swift/Podfile @@ -9,6 +9,7 @@ target 'CocoapodsTest' do pod 'StripeCardScan', path: '../../../..' pod 'StripeApplePay', path: '../../../..' pod 'StripeCameraCore', path: '../../../..' + pod 'StripeConnect', path: '../../../..' pod 'StripeCore', path: '../../../..' pod 'StripeUICore', path: '../../../..' pod 'StripePayments', path: '../../../..' diff --git a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest.xcodeproj/project.pbxproj b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest.xcodeproj/project.pbxproj index 35674f9b3d8..dcc27907361 100644 --- a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest.xcodeproj/project.pbxproj +++ b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -20,6 +20,7 @@ C176899320616C7E003DE895 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C176899120616C7E003DE895 /* LaunchScreen.storyboard */; }; E63B8ED227DDBA91000A7243 /* StripeIdentityAssetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E63B8ED127DDBA91000A7243 /* StripeIdentityAssetTests.swift */; }; E6A36A5A26BA4C34002A4427 /* StripeIdentity in Frameworks */ = {isa = PBXBuildFile; productRef = E6A36A5926BA4C34002A4427 /* StripeIdentity */; }; + E6C5F5FA2CA0FAC100861709 /* StripeConnect in Frameworks */ = {isa = PBXBuildFile; productRef = E6C5F5F92CA0FAC100861709 /* StripeConnect */; }; E6E0262526BA187800CE4304 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E0262426BA187800CE4304 /* ViewController.swift */; }; E6E0262726BA195D00CE4304 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E0262626BA195D00CE4304 /* AppDelegate.swift */; }; /* End PBXBuildFile section */ @@ -78,6 +79,7 @@ 3BD980892743194F00B09BCD /* StripeCardScan in Frameworks */, 3137B6922743799C00CE7F5C /* StripeApplePay in Frameworks */, 31DC3DB12537D02000623028 /* Stripe in Frameworks */, + E6C5F5FA2CA0FAC100861709 /* StripeConnect in Frameworks */, E6A36A5A26BA4C34002A4427 /* StripeIdentity in Frameworks */, 31138ECF28DE66F5008AF554 /* StripePaymentSheet in Frameworks */, 3C4D20A9273C644500BC6444 /* StripeFinancialConnections in Frameworks */, @@ -180,6 +182,7 @@ 3BD980882743194F00B09BCD /* StripeCardScan */, 3137B6912743799C00CE7F5C /* StripeApplePay */, 31138ECE28DE66F5008AF554 /* StripePaymentSheet */, + E6C5F5F92CA0FAC100861709 /* StripeConnect */, ); productName = CocoapodsTest; productReference = C176898320616C7E003DE895 /* SPMTest.app */; @@ -559,6 +562,10 @@ isa = XCSwiftPackageProductDependency; productName = StripeIdentity; }; + E6C5F5F92CA0FAC100861709 /* StripeConnect */ = { + isa = XCSwiftPackageProductDependency; + productName = StripeConnect; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = C176897B20616C7E003DE895 /* Project object */; diff --git a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/ViewController.swift b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/ViewController.swift index 435e58f5c31..6c547c60563 100644 --- a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/ViewController.swift +++ b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/ViewController.swift @@ -9,6 +9,7 @@ import Stripe import StripeApplePay import StripeCardScan +@_spi(PrivateBetaConnect) import StripeConnect import StripeFinancialConnections import StripeIdentity import StripePaymentSheet @@ -44,7 +45,11 @@ class ViewController: UIViewController { setupIntentClientSecret: "", configuration: PaymentSheet.Configuration() ) - // Do any additional setup after loading the view. + if #available(iOS 15.0, *) { + let _ = EmbeddedComponentManager { + nil + } + } } } diff --git a/modules.yaml b/modules.yaml index 2579b2fb20f..3888cea13a1 100644 --- a/modules.yaml +++ b/modules.yaml @@ -189,6 +189,14 @@ modules: custom_string_convertible_dir: StripeUICore/StripeUICore/Source/Categories supports_catalyst: true +- podspec: StripeConnect.podspec + scheme: StripeConnect + framework_name: StripeConnect + supports_catalyst: false + docs: + output: docs/stripeconnect + readme: StripeConnect/README.md + # All podspecs that get pushed to Cocoapods in the order of dependencies such # that a pods dependencies must appear before it in the list. # This is the order that podspecs will be pushed to `pod trunk`. @@ -204,3 +212,4 @@ pod_push_order: - StripeIdentity.podspec - StripeCardScan.podspec - StripeFinancialConnections.podspec +- StripeConnect.podspec From 3a1a591a132841340c8c062a147fa9484c9479b3 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 01:29:22 -0800 Subject: [PATCH 02/12] enable size testing and add to top-level readme --- README.md | 2 ++ modules.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/README.md b/README.md index f6e6cb0ed56..887c57c42d2 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ For help with Apple's App Privacy Details form in App Store Connect, visit [Stri | [StripePaymentSheet](StripePaymentSheet) | Stripe's [prebuilt payment UI](https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet). | [![StripePaymentSheet size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentSheetSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePaymentSheet&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentSheetSize/release?utm_campaign=badge-data) | | [StripeIdentity](StripeIdentity) | Securely capture ID documents and selfies on iOS for use with [Stripe's Identity API](https://docs.stripe.com/identity) to confirm the identity of global users. | [![StripeIdentity size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeIdentitySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeIdentity&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeIdentitySize/release?utm_campaign=badge-data) | | [StripeFinancialConnections](StripeFinancialConnections) | Securely connect financial accounts to Stripe's merchant account with [Stripe Financial Connections](https://docs.stripe.com/financial-connections). | [![StripeFinancialConnections size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeFinancialConnectionsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeFinancialConnections&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeFinancialConnectionsSize/release?utm_campaign=badge-data) | +| [StripeConnect](StripeConnect) | [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components) to add connected account dashboard functionality to your app. | [![StripeConnect size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeConnectSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeConnect&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeConnectSize/release?utm_campaign=badge-data) | | Stripe | Contains all the below frameworks, plus [Issuing](https://stripe.com/docs/issuing/cards/digital-wallets?platform=iOS). | [![Stripe size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=Stripe&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeSize/release?utm_campaign=badge-data) | | [StripeApplePay](StripeApplePay) | [Apple Pay support](/docs/apple-pay), including `STPApplePayContext`. | [![StripeApplePay size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeApplePaySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeApplePay&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeApplePaySize/release?utm_campaign=badge-data) | | [StripePayments](StripePayments) | Bindings for the Stripe Payments API. | [![StripePayments size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePayments&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentsSize/release?utm_campaign=badge-data) | @@ -94,6 +95,7 @@ For the `Stripe` module, link the following frameworks: For other modules, follow the instructions below: - [StripeApplePay](StripeApplePay/README.md#manual-linking) +- [StripeConnect](StripeConnect/README.md#manual-linking) - [StripeFinancialConnections](StripeFinancialConnections/README.md#manual-linking) - [StripeIdentity](StripeIdentity/README.md#manual-linking) - [StripePaymentSheet](StripePaymentSheet/README.md#manual-linking) diff --git a/modules.yaml b/modules.yaml index 3888cea13a1..164a512e42b 100644 --- a/modules.yaml +++ b/modules.yaml @@ -196,6 +196,7 @@ modules: docs: output: docs/stripeconnect readme: StripeConnect/README.md + size_report: true # All podspecs that get pushed to Cocoapods in the order of dependencies such # that a pods dependencies must appear before it in the list. From a0ee189ca5902133902ea02a7f79c836f0957895 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 01:42:17 -0800 Subject: [PATCH 03/12] changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 541d4d9149e..dc54f3a6d52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## X.X.X + +### Connect +* [Added] `StripeConnect` SDK to add connected account dashboard functionality to your app using [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components?platform=ios). + ## 24.1.3 2024-12-16 ### PaymentSheet, CustomerSheet * [Changed] Changed the edit and remove saved payment method flow so that tapping 'Edit' displays an icon that leads to a new update payment method screen that displays payment method details for card (last 4 digits of card number, cvc and expiry date fields), US Bank account (name, email, last 4 digits of bank acocunt), and SEPA debit (name, email, last 4 digits of IBAN). From b40706f42a6a14e77032d9b5702c5afa096396f7 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 01:56:25 -0800 Subject: [PATCH 04/12] tweak README --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 887c57c42d2..24a28e145cc 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,6 @@ Table of contents **Localized**: We support the following localizations: Bulgarian, Catalan, Chinese (Hong Kong), Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, English (US), English (United Kingdom), Estonian, Filipino, Finnish, French, French (Canada), German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Maltese, Norwegian Bokmål, Norwegian Nynorsk (Norway), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Spanish (Latin America), Swedish, Turkish, Thai and Vietnamese. -**Identity**: Learn about our [Stripe Identity iOS SDK](StripeIdentity/README.md) to verify the identity of your users. - #### Recommended usage If you're selling digital products or services that will be consumed within your app, (e.g. subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use Apple's in-app purchase APIs. See the [App Store review guidelines](https://developer.apple.com/app-store/review/guidelines/#payments) for more information. For all other scenarios you can use this SDK to process payments via Stripe. @@ -72,7 +70,7 @@ For help with Apple's App Privacy Details form in App Store Connect, visit [Stri | [StripePaymentSheet](StripePaymentSheet) | Stripe's [prebuilt payment UI](https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet). | [![StripePaymentSheet size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentSheetSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePaymentSheet&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentSheetSize/release?utm_campaign=badge-data) | | [StripeIdentity](StripeIdentity) | Securely capture ID documents and selfies on iOS for use with [Stripe's Identity API](https://docs.stripe.com/identity) to confirm the identity of global users. | [![StripeIdentity size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeIdentitySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeIdentity&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeIdentitySize/release?utm_campaign=badge-data) | | [StripeFinancialConnections](StripeFinancialConnections) | Securely connect financial accounts to Stripe's merchant account with [Stripe Financial Connections](https://docs.stripe.com/financial-connections). | [![StripeFinancialConnections size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeFinancialConnectionsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeFinancialConnections&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeFinancialConnectionsSize/release?utm_campaign=badge-data) | -| [StripeConnect](StripeConnect) | [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components) to add connected account dashboard functionality to your app. | [![StripeConnect size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeConnectSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeConnect&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeConnectSize/release?utm_campaign=badge-data) | +| [StripeConnect](StripeConnect) | Add connected account dashboard functionality to your app using [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components?platform=ios). | [![StripeConnect size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeConnectSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeConnect&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeConnectSize/release?utm_campaign=badge-data) | | Stripe | Contains all the below frameworks, plus [Issuing](https://stripe.com/docs/issuing/cards/digital-wallets?platform=iOS). | [![Stripe size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=Stripe&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeSize/release?utm_campaign=badge-data) | | [StripeApplePay](StripeApplePay) | [Apple Pay support](/docs/apple-pay), including `STPApplePayContext`. | [![StripeApplePay size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeApplePaySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeApplePay&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeApplePaySize/release?utm_campaign=badge-data) | | [StripePayments](StripePayments) | Bindings for the Stripe Payments API. | [![StripePayments size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePayments&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentsSize/release?utm_campaign=badge-data) | From 0f9ca77b158915ce03ba39fa6729ec7d579d13f9 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 16:26:04 -0800 Subject: [PATCH 05/12] revert accidental README change --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24a28e145cc..f6e6cb0ed56 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ Table of contents **Localized**: We support the following localizations: Bulgarian, Catalan, Chinese (Hong Kong), Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, English (US), English (United Kingdom), Estonian, Filipino, Finnish, French, French (Canada), German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Maltese, Norwegian Bokmål, Norwegian Nynorsk (Norway), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Spanish (Latin America), Swedish, Turkish, Thai and Vietnamese. +**Identity**: Learn about our [Stripe Identity iOS SDK](StripeIdentity/README.md) to verify the identity of your users. + #### Recommended usage If you're selling digital products or services that will be consumed within your app, (e.g. subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use Apple's in-app purchase APIs. See the [App Store review guidelines](https://developer.apple.com/app-store/review/guidelines/#payments) for more information. For all other scenarios you can use this SDK to process payments via Stripe. @@ -70,7 +72,6 @@ For help with Apple's App Privacy Details form in App Store Connect, visit [Stri | [StripePaymentSheet](StripePaymentSheet) | Stripe's [prebuilt payment UI](https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet). | [![StripePaymentSheet size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentSheetSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePaymentSheet&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentSheetSize/release?utm_campaign=badge-data) | | [StripeIdentity](StripeIdentity) | Securely capture ID documents and selfies on iOS for use with [Stripe's Identity API](https://docs.stripe.com/identity) to confirm the identity of global users. | [![StripeIdentity size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeIdentitySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeIdentity&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeIdentitySize/release?utm_campaign=badge-data) | | [StripeFinancialConnections](StripeFinancialConnections) | Securely connect financial accounts to Stripe's merchant account with [Stripe Financial Connections](https://docs.stripe.com/financial-connections). | [![StripeFinancialConnections size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeFinancialConnectionsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeFinancialConnections&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeFinancialConnectionsSize/release?utm_campaign=badge-data) | -| [StripeConnect](StripeConnect) | Add connected account dashboard functionality to your app using [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components?platform=ios). | [![StripeConnect size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeConnectSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeConnect&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeConnectSize/release?utm_campaign=badge-data) | | Stripe | Contains all the below frameworks, plus [Issuing](https://stripe.com/docs/issuing/cards/digital-wallets?platform=iOS). | [![Stripe size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=Stripe&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeSize/release?utm_campaign=badge-data) | | [StripeApplePay](StripeApplePay) | [Apple Pay support](/docs/apple-pay), including `STPApplePayContext`. | [![StripeApplePay size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeApplePaySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeApplePay&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeApplePaySize/release?utm_campaign=badge-data) | | [StripePayments](StripePayments) | Bindings for the Stripe Payments API. | [![StripePayments size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePayments&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentsSize/release?utm_campaign=badge-data) | @@ -93,7 +94,6 @@ For the `Stripe` module, link the following frameworks: For other modules, follow the instructions below: - [StripeApplePay](StripeApplePay/README.md#manual-linking) -- [StripeConnect](StripeConnect/README.md#manual-linking) - [StripeFinancialConnections](StripeFinancialConnections/README.md#manual-linking) - [StripeIdentity](StripeIdentity/README.md#manual-linking) - [StripePaymentSheet](StripePaymentSheet/README.md#manual-linking) From ee0688e0fe5a81502a5cc3f717b8d82b28e7cd66 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 16:26:13 -0800 Subject: [PATCH 06/12] Add FC as dependency --- Package.swift | 2 +- StripeConnect.podspec | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index bdffac03b27..459540e8dd4 100644 --- a/Package.swift +++ b/Package.swift @@ -159,7 +159,7 @@ let package = Package( ), .target( name: "StripeConnect", - dependencies: ["StripeCore", "StripeUICore"], + dependencies: ["StripeCore", "StripeUICore", "StripeFinancialConnections"], path: "StripeConnect/StripeConnect" ) ] diff --git a/StripeConnect.podspec b/StripeConnect.podspec index 064b5a862ce..afefaddc094 100644 --- a/StripeConnect.podspec +++ b/StripeConnect.podspec @@ -18,4 +18,5 @@ Pod::Spec.new do |s| s.source_files = 'StripeConnect/StripeConnect/**/*.swift' s.dependency 'StripeCore', s.version.to_s s.dependency 'StripeUICore', s.version.to_s + s.dependency 'StripeFinancialConnections', s.version.to_s end From fd953d85eba7eba04ff51e0006244ef8dd2c04e0 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 16:29:36 -0800 Subject: [PATCH 07/12] include StripeCore in docs --- modules.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules.yaml b/modules.yaml index 164a512e42b..dabc4ed31ba 100644 --- a/modules.yaml +++ b/modules.yaml @@ -196,6 +196,8 @@ modules: docs: output: docs/stripeconnect readme: StripeConnect/README.md + include: + - StripeCore size_report: true # All podspecs that get pushed to Cocoapods in the order of dependencies such From b23c639e7709758a1999b75d1fe20011a2e4e57e Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 19:02:13 -0800 Subject: [PATCH 08/12] update podspec version --- StripeConnect.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StripeConnect.podspec b/StripeConnect.podspec index afefaddc094..395a01489fa 100644 --- a/StripeConnect.podspec +++ b/StripeConnect.podspec @@ -3,7 +3,7 @@ Pod::Spec.new do |s| # Do not update s.version directly. # Instead, update the VERSION file and run ./ci_scripts/update_version.sh - s.version = '23.30.0' + s.version = '24.1.2' s.summary = 'Use Connect embedded components to add connected account dashboard functionality to your app.' s.license = { type: 'MIT', file: 'LICENSE' } From 5bde8d8debaf8c5dbc21b5ca6b99b448bf18b9f1 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Thu, 12 Dec 2024 20:12:01 -0800 Subject: [PATCH 09/12] Add NSCameraUsageDescription to install test projects --- Tests/installation_tests/carthage/CarthageTest/Info.plist | 2 ++ .../cocoapods/with_frameworks_swift/CocoapodsTest/Info.plist | 2 ++ .../swift_package_manager/with_objc/SPMTest/Info.plist | 2 ++ .../swift_package_manager/with_swift/SPMTest/Info.plist | 2 ++ 4 files changed, 8 insertions(+) diff --git a/Tests/installation_tests/carthage/CarthageTest/Info.plist b/Tests/installation_tests/carthage/CarthageTest/Info.plist index 6905cc67bbf..6f0689927cb 100644 --- a/Tests/installation_tests/carthage/CarthageTest/Info.plist +++ b/Tests/installation_tests/carthage/CarthageTest/Info.plist @@ -36,5 +36,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + NSCameraUsageDescription + camera description diff --git a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/Info.plist b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/Info.plist index 6905cc67bbf..56d9adbb9db 100644 --- a/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/Info.plist +++ b/Tests/installation_tests/cocoapods/with_frameworks_swift/CocoapodsTest/Info.plist @@ -22,6 +22,8 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + camera description UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/Tests/installation_tests/swift_package_manager/with_objc/SPMTest/Info.plist b/Tests/installation_tests/swift_package_manager/with_objc/SPMTest/Info.plist index 16be3b68112..f8367a2e0e8 100644 --- a/Tests/installation_tests/swift_package_manager/with_objc/SPMTest/Info.plist +++ b/Tests/installation_tests/swift_package_manager/with_objc/SPMTest/Info.plist @@ -20,6 +20,8 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + camera description UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/Info.plist b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/Info.plist index 16be3b68112..f8367a2e0e8 100644 --- a/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/Info.plist +++ b/Tests/installation_tests/swift_package_manager/with_swift/SPMTest/Info.plist @@ -20,6 +20,8 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + camera description UILaunchStoryboardName LaunchScreen UIMainStoryboardFile From cf09a3527cec423c493481ea41da0682032ad4c0 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Mon, 16 Dec 2024 14:10:51 -0800 Subject: [PATCH 10/12] update podspec version --- StripeConnect.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StripeConnect.podspec b/StripeConnect.podspec index 395a01489fa..33f50b6a170 100644 --- a/StripeConnect.podspec +++ b/StripeConnect.podspec @@ -3,7 +3,7 @@ Pod::Spec.new do |s| # Do not update s.version directly. # Instead, update the VERSION file and run ./ci_scripts/update_version.sh - s.version = '24.1.2' + s.version = '24.1.3' s.summary = 'Use Connect embedded components to add connected account dashboard functionality to your app.' s.license = { type: 'MIT', file: 'LICENSE' } From 43cf6f3c4ac4f08a643c539c1ad999bd5401929a Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Mon, 16 Dec 2024 16:30:02 -0800 Subject: [PATCH 11/12] README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f6e6cb0ed56..f241fc5d907 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ For help with Apple's App Privacy Details form in App Store Connect, visit [Stri | Module | Description | Size ([Download → Install](https://docs.emergetools.com/docs/ios-app-size#download-vs-install-size))                          | |--------|-------------|------| | [StripePaymentSheet](StripePaymentSheet) | Stripe's [prebuilt payment UI](https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet). | [![StripePaymentSheet size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripePaymentSheetSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripePaymentSheet&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripePaymentSheetSize/release?utm_campaign=badge-data) | +| [StripeConnect](StripeConnect) | Connect embedded components to add connected account dashboard functionality to your app. | [![StripeConnect size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeConnectSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeConnect&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeConnectSize/release?utm_campaign=badge-data) | | [StripeIdentity](StripeIdentity) | Securely capture ID documents and selfies on iOS for use with [Stripe's Identity API](https://docs.stripe.com/identity) to confirm the identity of global users. | [![StripeIdentity size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeIdentitySize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeIdentity&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeIdentitySize/release?utm_campaign=badge-data) | | [StripeFinancialConnections](StripeFinancialConnections) | Securely connect financial accounts to Stripe's merchant account with [Stripe Financial Connections](https://docs.stripe.com/financial-connections). | [![StripeFinancialConnections size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeFinancialConnectionsSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=StripeFinancialConnections&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeFinancialConnectionsSize/release?utm_campaign=badge-data) | | Stripe | Contains all the below frameworks, plus [Issuing](https://stripe.com/docs/issuing/cards/digital-wallets?platform=iOS). | [![Stripe size](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fwww.emergetools.com%2Fapi%2Fv2%2Fpublic_new_build%3FexampleId%3Dcom.stripe.StripeSize%26platform%3Dios%26badgeOption%3Ddownload_and_install_size%26buildType%3Drelease&query=$.badgeMetadata&label=Stripe&logo=apple)](https://www.emergetools.com/app/example/ios/com.stripe.StripeSize/release?utm_campaign=badge-data) | @@ -94,6 +95,7 @@ For the `Stripe` module, link the following frameworks: For other modules, follow the instructions below: - [StripeApplePay](StripeApplePay/README.md#manual-linking) +- [StripeConnect](StripeConnect/README.md#manual-linking) - [StripeFinancialConnections](StripeFinancialConnections/README.md#manual-linking) - [StripeIdentity](StripeIdentity/README.md#manual-linking) - [StripePaymentSheet](StripePaymentSheet/README.md#manual-linking) From 5c8bba6ea166a0fa4396e4390e7c3659ca924cd2 Mon Sep 17 00:00:00 2001 From: Mel Ludowise Date: Mon, 16 Dec 2024 16:38:00 -0800 Subject: [PATCH 12/12] add podspec comment --- StripeConnect.podspec | 1 + 1 file changed, 1 insertion(+) diff --git a/StripeConnect.podspec b/StripeConnect.podspec index 33f50b6a170..8693723ed59 100644 --- a/StripeConnect.podspec +++ b/StripeConnect.podspec @@ -14,6 +14,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.platform = :ios s.swift_version = '5.0' + # Connect only supports 15+, but setting this to 13.0 to make installation tests easier. s.ios.deployment_target = '13.0' s.source_files = 'StripeConnect/StripeConnect/**/*.swift' s.dependency 'StripeCore', s.version.to_s