diff --git a/Braintree.podspec b/Braintree.podspec index efb935aab8..252dae04ec 100644 --- a/Braintree.podspec +++ b/Braintree.podspec @@ -24,45 +24,53 @@ Pod::Spec.new do |s| s.subspec "AmericanExpress" do |s| s.source_files = "Sources/BraintreeAmericanExpress/*.swift" s.dependency "Braintree/Core" + s.resource_bundle = { "BraintreeAmericanExpress_PrivacyInfo" => "Sources/BraintreeAmericanExpress/PrivacyInfo.xcprivacy" } end s.subspec "ApplePay" do |s| s.source_files = "Sources/BraintreeApplePay/*.swift" s.dependency "Braintree/Core" + s.resource_bundle = { "BraintreeApplePay_PrivacyInfo" => "Sources/BraintreeApplePay/PrivacyInfo.xcprivacy" } s.frameworks = "PassKit" end s.subspec "Card" do |s| s.source_files = "Sources/BraintreeCard/*.swift" s.dependency "Braintree/Core" + s.resource_bundle = { "BraintreeCard_PrivacyInfo" => "Sources/BraintreeCard/PrivacyInfo.xcprivacy" } end s.subspec "Core" do |s| s.source_files = "Sources/BraintreeCore/**/*.{swift,h}" s.public_header_files = "Sources/BraintreeCore/*.h" + s.resource_bundle = { "BraintreeCore_PrivacyInfo" => "Sources/BraintreeCore/PrivacyInfo.xcprivacy" } end s.subspec "DataCollector" do |s| s.source_files = "Sources/BraintreeDataCollector/*.swift" s.dependency "Braintree/Core" s.vendored_frameworks = "Frameworks/XCFrameworks/PPRiskMagnes.xcframework" + s.resource_bundle = { "BraintreeDataCollector_PrivacyInfo" => "Sources/BraintreeDataCollector/PrivacyInfo.xcprivacy"} end s.subspec "LocalPayment" do |s| s.source_files = "Sources/BraintreeLocalPayment/*.swift" s.dependency "Braintree/Core" s.dependency "Braintree/DataCollector" + s.resource_bundle = { "BraintreeLocalPayment_PrivacyInfo" => "Sources/BraintreeLocalPayment/PrivacyInfo.xcprivacy" } end s.subspec "PayPal" do |s| s.source_files = "Sources/BraintreePayPal/**/*.swift" s.dependency "Braintree/Core" s.dependency "Braintree/DataCollector" + s.resource_bundle = { "BraintreePayPal_PrivacyInfo" => "Sources/BraintreePayPal/PrivacyInfo.xcprivacy" } end s.subspec "SEPADirectDebit" do |s| s.source_files = "Sources/BraintreeSEPADirectDebit/*.swift" s.dependency "Braintree/Core" + s.resource_bundle = { "BraintreeSEPADirectDebit_PrivacyInfo" => "Sources/BraintreeSEPADirectDebit/PrivacyInfo.xcprivacy" } end s.subspec "PayPalNativeCheckout" do |s| @@ -70,17 +78,20 @@ Pod::Spec.new do |s| s.dependency "Braintree/Core" s.dependency "Braintree/PayPal" s.dependency "PayPalCheckout", '1.2.0' + s.resource_bundle = { "BraintreePayPalNativeCheckout_PrivacyInfo" => "Sources/BraintreePayPalNativeCheckout/PrivacyInfo.xcprivacy" } end s.subspec "ThreeDSecure" do |s| s.source_files = "Sources/BraintreeThreeDSecure/**/*.{swift}" s.dependency "Braintree/Card" s.vendored_frameworks = "Frameworks/XCFrameworks/CardinalMobile.xcframework" + s.resource_bundle = { "BraintreeThreeDSecure_PrivacyInfo" => "Sources/BraintreeThreeDSecure/PrivacyInfo.xcprivacy" } end s.subspec "Venmo" do |s| s.source_files = "Sources/BraintreeVenmo/*.swift" s.dependency "Braintree/Core" + s.resource_bundle = { "BraintreeVenmo_PrivacyInfo" => "Sources/BraintreeVenmo/PrivacyInfo.xcprivacy" } end end diff --git a/Braintree.xcodeproj/project.pbxproj b/Braintree.xcodeproj/project.pbxproj index e234bbfcf0..258008b42c 100644 --- a/Braintree.xcodeproj/project.pbxproj +++ b/Braintree.xcodeproj/project.pbxproj @@ -16,10 +16,12 @@ 3B1C529429D5EB4E00B68A58 /* BTVenmoAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B1C529329D5EB4E00B68A58 /* BTVenmoAnalytics.swift */; }; 3B1C529729D638D400B68A58 /* BTVenmoAnalytics_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B1C529529D637F400B68A58 /* BTVenmoAnalytics_Tests.swift */; }; 3B57E9EA29ECC1AF00245174 /* BTLocalPaymentAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B57E9E929ECC1AF00245174 /* BTLocalPaymentAnalytics.swift */; }; + 3B5A41E92BA2375600921922 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3B5A41E82BA2375600921922 /* PrivacyInfo.xcprivacy */; }; 3B7A261129C0CAA40087059D /* BTPayPalAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B7A261029C0CAA40087059D /* BTPayPalAnalytics.swift */; }; 3B7A261429C35BD00087059D /* BTPayPalAnalytics_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B7A261229C35B670087059D /* BTPayPalAnalytics_Tests.swift */; }; 3BC0E09229E4673C009217D6 /* BTSEPADirectAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC0E09129E4673C009217D6 /* BTSEPADirectAnalytics.swift */; }; 3BC0E09429E46C58009217D6 /* BTSEPADirectAnalytics_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC0E09329E46C58009217D6 /* BTSEPADirectAnalytics_Tests.swift */; }; + 3BE7386F2BA171A300598F05 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3BE7386E2BA171A300598F05 /* PrivacyInfo.xcprivacy */; }; 3BE8FFFC29EDDAF500869166 /* BTLocalPaymentAnalytics_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BE8FFFB29EDDAF500869166 /* BTLocalPaymentAnalytics_Tests.swift */; }; 3BEB03C529FD55CA001133D5 /* BTThreeDSecureAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEB03C429FD55CA001133D5 /* BTThreeDSecureAnalytics.swift */; }; 3BEB03C829FD5716001133D5 /* BTThreeDSecureAnalytics_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEB03C629FD5669001133D5 /* BTThreeDSecureAnalytics_Tests.swift */; }; @@ -72,6 +74,13 @@ 57D9436E2968A8080079EAB1 /* BTPayPalLocaleCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57D9436D2968A8080079EAB1 /* BTPayPalLocaleCode.swift */; }; 57D94370296CC79B0079EAB1 /* BraintreePayPal_IntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57D9436F296CC79B0079EAB1 /* BraintreePayPal_IntegrationTests.swift */; }; 57D94372296CCA2F0079EAB1 /* String+NonceValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57D94371296CCA2F0079EAB1 /* String+NonceValidation.swift */; }; + 620C3C652BA21E5700C40A03 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 620C3C642BA21E5700C40A03 /* PrivacyInfo.xcprivacy */; }; + 62236E1A2B98CFB000CDCC37 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 62236E192B98CFB000CDCC37 /* PrivacyInfo.xcprivacy */; }; + 6298A1992B91010600E46EDF /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 6298A1982B91010600E46EDF /* PrivacyInfo.xcprivacy */; }; + 62A659A42B98CB23008DFD67 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 62A659A32B98CB23008DFD67 /* PrivacyInfo.xcprivacy */; }; + 62A746412B9255AC003D32FF /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 62A746402B9255AC003D32FF /* PrivacyInfo.xcprivacy */; }; + 62D5EC502B9F6E9D00D09C5D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 62D5EC4F2B9F6E9D00D09C5D /* PrivacyInfo.xcprivacy */; }; + 62DE8FBF2B9656BF00F08F53 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 62DE8FBE2B9656BF00F08F53 /* PrivacyInfo.xcprivacy */; }; 800E78C429E0DD5300D1B0FC /* FPTIBatchData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800E78C329E0DD5300D1B0FC /* FPTIBatchData.swift */; }; 800FC544257FDC5100DEE132 /* BTApplePayCardNonce_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800FC543257FDC5100DEE132 /* BTApplePayCardNonce_Tests.swift */; }; 804326BF2B1A5C5B0044E90B /* BTApplePaymentTokensRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804326BE2B1A5C5B0044E90B /* BTApplePaymentTokensRequest.swift */; }; @@ -88,7 +97,9 @@ 8053F05929FB2F700076F988 /* URL+IsPayPal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8053F05829FB2F700076F988 /* URL+IsPayPal.swift */; }; 80581A8C25531D0A00006F53 /* BTConfiguration+ThreeDSecure_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80581A8B25531D0A00006F53 /* BTConfiguration+ThreeDSecure_Tests.swift */; }; 80581B1D2553319C00006F53 /* BTGraphQLHTTP_SSLPinning_IntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80581B1C2553319C00006F53 /* BTGraphQLHTTP_SSLPinning_IntegrationTests.swift */; }; + 806C85632B90EBED00A2754C /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 806C85622B90EBED00A2754C /* PrivacyInfo.xcprivacy */; }; 8075CBEE2B1B735200CA6265 /* BTAPIRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8075CBED2B1B735200CA6265 /* BTAPIRequest.swift */; }; + 80842DA72B8E49EF00A5CD92 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 80842DA62B8E49EF00A5CD92 /* PrivacyInfo.xcprivacy */; }; 80A6C6192B21205900416D50 /* UIApplication+URLOpener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A6C6182B21205900416D50 /* UIApplication+URLOpener.swift */; }; 80BA3C292B23892700900BBB /* FakeRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80BA3C282B23892700900BBB /* FakeRequest.swift */; }; 80BA64AC29D788E000E15264 /* BTLocalPaymentResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80BA64AB29D788E000E15264 /* BTLocalPaymentResult.swift */; }; @@ -624,10 +635,12 @@ 3B1C529329D5EB4E00B68A58 /* BTVenmoAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTVenmoAnalytics.swift; sourceTree = ""; }; 3B1C529529D637F400B68A58 /* BTVenmoAnalytics_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTVenmoAnalytics_Tests.swift; sourceTree = ""; }; 3B57E9E929ECC1AF00245174 /* BTLocalPaymentAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTLocalPaymentAnalytics.swift; sourceTree = ""; }; + 3B5A41E82BA2375600921922 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 3B7A261029C0CAA40087059D /* BTPayPalAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTPayPalAnalytics.swift; sourceTree = ""; }; 3B7A261229C35B670087059D /* BTPayPalAnalytics_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTPayPalAnalytics_Tests.swift; sourceTree = ""; }; 3BC0E09129E4673C009217D6 /* BTSEPADirectAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTSEPADirectAnalytics.swift; sourceTree = ""; }; 3BC0E09329E46C58009217D6 /* BTSEPADirectAnalytics_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTSEPADirectAnalytics_Tests.swift; sourceTree = ""; }; + 3BE7386E2BA171A300598F05 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 3BE8FFFB29EDDAF500869166 /* BTLocalPaymentAnalytics_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTLocalPaymentAnalytics_Tests.swift; sourceTree = ""; }; 3BEB03C429FD55CA001133D5 /* BTThreeDSecureAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTThreeDSecureAnalytics.swift; sourceTree = ""; }; 3BEB03C629FD5669001133D5 /* BTThreeDSecureAnalytics_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTThreeDSecureAnalytics_Tests.swift; sourceTree = ""; }; @@ -696,6 +709,13 @@ 57D9436F296CC79B0079EAB1 /* BraintreePayPal_IntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BraintreePayPal_IntegrationTests.swift; sourceTree = ""; }; 57D94371296CCA2F0079EAB1 /* String+NonceValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+NonceValidation.swift"; sourceTree = ""; }; 59A4135427B90CD7AE94D5CC /* Pods-Tests-IntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests-IntegrationTests.debug.xcconfig"; path = "Target Support Files/Pods-Tests-IntegrationTests/Pods-Tests-IntegrationTests.debug.xcconfig"; sourceTree = ""; }; + 620C3C642BA21E5700C40A03 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 62236E192B98CFB000CDCC37 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 6298A1982B91010600E46EDF /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 62A659A32B98CB23008DFD67 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 62A746402B9255AC003D32FF /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 62D5EC4F2B9F6E9D00D09C5D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 62DE8FBE2B9656BF00F08F53 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 800E23DC22206A8300C5D22E /* BTThreeDSecureAuthenticateJWT_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTThreeDSecureAuthenticateJWT_Tests.swift; sourceTree = ""; }; 800E78C329E0DD5300D1B0FC /* FPTIBatchData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPTIBatchData.swift; sourceTree = ""; }; 800FC543257FDC5100DEE132 /* BTApplePayCardNonce_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTApplePayCardNonce_Tests.swift; sourceTree = ""; }; @@ -714,7 +734,9 @@ 80581A8B25531D0A00006F53 /* BTConfiguration+ThreeDSecure_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BTConfiguration+ThreeDSecure_Tests.swift"; sourceTree = ""; }; 80581B1C2553319C00006F53 /* BTGraphQLHTTP_SSLPinning_IntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTGraphQLHTTP_SSLPinning_IntegrationTests.swift; sourceTree = ""; }; 805FD35B2331780F0000B514 /* BTPostalAddress_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTPostalAddress_Tests.swift; sourceTree = ""; }; + 806C85622B90EBED00A2754C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 8075CBED2B1B735200CA6265 /* BTAPIRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTAPIRequest.swift; sourceTree = ""; }; + 80842DA62B8E49EF00A5CD92 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 80A1EE3D2236AAC600F6218B /* BTThreeDSecureAdditionalInformation_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTThreeDSecureAdditionalInformation_Tests.swift; sourceTree = ""; }; 80A6C6182B21205900416D50 /* UIApplication+URLOpener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+URLOpener.swift"; sourceTree = ""; }; 80B6190C28C9535F00FB5022 /* PayPalCheckout.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PayPalCheckout.xcframework; path = Frameworks/XCFrameworks/PayPalCheckout.xcframework; sourceTree = ""; }; @@ -1139,6 +1161,7 @@ 9C3F55EE275E80DA00C21C8A /* BTAmericanExpressError.swift */, 804B5711275AAF8500E51A52 /* BTAmericanExpressRewardsBalance.swift */, 804DC45A2B2CF3DC00F17A15 /* BTAmexRewardsBalanceRequest.swift */, + 80842DA62B8E49EF00A5CD92 /* PrivacyInfo.xcprivacy */, ); path = BraintreeAmericanExpress; sourceTree = ""; @@ -1153,6 +1176,7 @@ 80BA64B129D7937E00E15264 /* BTLocalPaymentRequest.swift */, 80BA64B329D795D000E15264 /* BTLocalPaymentRequestDelegate.swift */, 80BA64AB29D788E000E15264 /* BTLocalPaymentResult.swift */, + 3B5A41E82BA2375600921922 /* PrivacyInfo.xcprivacy */, ); path = BraintreeLocalPayment; sourceTree = ""; @@ -1173,6 +1197,7 @@ 57D9436D2968A8080079EAB1 /* BTPayPalLocaleCode.swift */, BE349112294B798300D2CF68 /* BTPayPalRequest.swift */, BE349110294B77E100D2CF68 /* BTPayPalVaultRequest.swift */, + 62A659A32B98CB23008DFD67 /* PrivacyInfo.xcprivacy */, ); path = BraintreePayPal; sourceTree = ""; @@ -1223,6 +1248,7 @@ 8053F05829FB2F700076F988 /* URL+IsPayPal.swift */, BE7FA4C5291AC9B6003C6B63 /* Info.plist */, BEBC6E5D2927CF59004E25A0 /* Braintree.h */, + 62A746402B9255AC003D32FF /* PrivacyInfo.xcprivacy */, ); path = BraintreeCore; sourceTree = ""; @@ -1336,6 +1362,7 @@ BE9E07EE2B18FBA000EF32A4 /* BTPayPalNativeCheckoutStartable.swift */, BE9E07F02B18FC0B00EF32A4 /* BTPayPalNativeCheckoutProvider.swift */, BE9E07F22B18FC9200EF32A4 /* BTPayPalNativeCheckoutProtocol.swift */, + 62D5EC4F2B9F6E9D00D09C5D /* PrivacyInfo.xcprivacy */, ); path = BraintreePayPalNativeCheckout; sourceTree = ""; @@ -1441,6 +1468,7 @@ children = ( BE57E1122847F8C9002CFBAC /* BTDataCollector.swift */, BE70A962284FA3F000F6D3F7 /* BTDataCollectorError.swift */, + 620C3C642BA21E5700C40A03 /* PrivacyInfo.xcprivacy */, ); path = BraintreeDataCollector; sourceTree = ""; @@ -1478,6 +1506,7 @@ BE895C6229944BD3008112AB /* BTApplePayError.swift */, 804326BE2B1A5C5B0044E90B /* BTApplePaymentTokensRequest.swift */, BE7A9643299FC5DE009AB920 /* BTConfiguration+ApplePay.swift */, + 6298A1982B91010600E46EDF /* PrivacyInfo.xcprivacy */, ); path = BraintreeApplePay; sourceTree = ""; @@ -1493,6 +1522,7 @@ BE80C00A29C66F4800793A6C /* BTCardNonce.swift */, BE80C00829C559B800793A6C /* BTCardRequest.swift */, BE80C00629C5516E00793A6C /* BTThreeDSecureInfo.swift */, + 806C85622B90EBED00A2754C /* PrivacyInfo.xcprivacy */, ); path = BraintreeCard; sourceTree = ""; @@ -1509,6 +1539,7 @@ BE0AF6BA29AFD53300245C2C /* BTVenmoError.swift */, 096C6B2529CCDCEB00912863 /* BTVenmoLineItem.swift */, BE0AF6BE29AFF13200245C2C /* BTVenmoRequest.swift */, + 3BE7386E2BA171A300598F05 /* PrivacyInfo.xcprivacy */, ); path = BraintreeVenmo; sourceTree = ""; @@ -1577,6 +1608,7 @@ BE01A83E29D32CA0000DFA24 /* BTThreeDSecureV2Provider.swift */, 80CD33FF2A6042FC009545F5 /* CardinalSessionTestable.swift */, 801A0A1725890DF200DAF851 /* V2UICustomization */, + 62236E192B98CFB000CDCC37 /* PrivacyInfo.xcprivacy */, ); path = BraintreeThreeDSecure; sourceTree = ""; @@ -1739,6 +1771,7 @@ BEF177A52B51C7ED004F0F35 /* SEPADebitAccountsRequest.swift */, BEF177A72B51D6A7004F0F35 /* SEPADebitRequest.swift */, BE0B163E27E0CD7C00868C77 /* SEPADirectDebitAPI.swift */, + 62DE8FBE2B9656BF00F08F53 /* PrivacyInfo.xcprivacy */, ); path = BraintreeSEPADirectDebit; sourceTree = ""; @@ -2448,6 +2481,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3B5A41E92BA2375600921922 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2455,6 +2489,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 80842DA72B8E49EF00A5CD92 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2462,6 +2497,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 62A659A42B98CB23008DFD67 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2469,6 +2505,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 62A746412B9255AC003D32FF /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2476,6 +2513,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 62D5EC502B9F6E9D00D09C5D /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2490,6 +2528,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 620C3C652BA21E5700C40A03 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2497,6 +2536,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3BE7386F2BA171A300598F05 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2511,6 +2551,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6298A1992B91010600E46EDF /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2518,6 +2559,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 806C85632B90EBED00A2754C /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2539,6 +2581,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 62236E1A2B98CFB000CDCC37 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2609,6 +2652,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 62DE8FBF2B9656BF00F08F53 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/CHANGELOG.md b/CHANGELOG.md index 99763f869d..8ff21df2e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Braintree iOS SDK Release Notes +## unreleased +* [Meets Apple's new Privacy Update requirements](https://developer.apple.com/news/?id=3d8a9yyh) + ## 6.14.0 (2024-03-13) * BraintreeDataCollector * Bump to PPRiskMagnes v5.5.0 with code signing & a privacy manifest file diff --git a/Package.swift b/Package.swift index 943be5df74..3abe0f6d82 100644 --- a/Package.swift +++ b/Package.swift @@ -57,36 +57,44 @@ let package = Package( // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "BraintreeAmericanExpress", - dependencies: ["BraintreeCore"] + dependencies: ["BraintreeCore"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeApplePay", - dependencies: ["BraintreeCore"] + dependencies: ["BraintreeCore"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeCard", - dependencies: ["BraintreeCore"] + dependencies: ["BraintreeCore"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeCore", - exclude: ["Info.plist", "Braintree.h"] + exclude: ["Info.plist", "Braintree.h"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeDataCollector", - dependencies: ["BraintreeCore", "PPRiskMagnes"] + dependencies: ["BraintreeCore", "PPRiskMagnes"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeLocalPayment", - dependencies: ["BraintreeCore", "BraintreeDataCollector"] + dependencies: ["BraintreeCore", "BraintreeDataCollector"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreePayPal", - dependencies: ["BraintreeCore", "BraintreeDataCollector"] + dependencies: ["BraintreeCore", "BraintreeDataCollector"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreePayPalNativeCheckout", dependencies: ["BraintreeCore", "BraintreePayPal", "PayPalCheckout"], - path: "Sources/BraintreePayPalNativeCheckout" + path: "Sources/BraintreePayPalNativeCheckout", + resources: [.copy("PrivacyInfo.xcprivacy")] ), .binaryTarget( name: "PayPalCheckout", @@ -96,11 +104,13 @@ let package = Package( .target( name: "BraintreeSEPADirectDebit", dependencies: ["BraintreeCore"], - path: "Sources/BraintreeSEPADirectDebit" + path: "Sources/BraintreeSEPADirectDebit", + resources: [.copy("PrivacyInfo.xcprivacy")] ), .target( name: "BraintreeThreeDSecure", - dependencies: ["BraintreeCard", "CardinalMobile", "PPRiskMagnes", "BraintreeCore"] + dependencies: ["BraintreeCard", "CardinalMobile", "PPRiskMagnes", "BraintreeCore"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .binaryTarget( name: "CardinalMobile", @@ -108,7 +118,8 @@ let package = Package( ), .target( name: "BraintreeVenmo", - dependencies: ["BraintreeCore"] + dependencies: ["BraintreeCore"], + resources: [.copy("PrivacyInfo.xcprivacy")] ), .binaryTarget( name: "PPRiskMagnes", diff --git a/Sources/BraintreeAmericanExpress/PrivacyInfo.xcprivacy b/Sources/BraintreeAmericanExpress/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..85d25e638a --- /dev/null +++ b/Sources/BraintreeAmericanExpress/PrivacyInfo.xcprivacy @@ -0,0 +1,21 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeApplePay/PrivacyInfo.xcprivacy b/Sources/BraintreeApplePay/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..85d25e638a --- /dev/null +++ b/Sources/BraintreeApplePay/PrivacyInfo.xcprivacy @@ -0,0 +1,21 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeCard/PrivacyInfo.xcprivacy b/Sources/BraintreeCard/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..2085942ccb --- /dev/null +++ b/Sources/BraintreeCard/PrivacyInfo.xcprivacy @@ -0,0 +1,33 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhysicalAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeCore/PrivacyInfo.xcprivacy b/Sources/BraintreeCore/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..f45123d818 --- /dev/null +++ b/Sources/BraintreeCore/PrivacyInfo.xcprivacy @@ -0,0 +1,33 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeName + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhysicalAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeDataCollector/PrivacyInfo.xcprivacy b/Sources/BraintreeDataCollector/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..fb0d830920 --- /dev/null +++ b/Sources/BraintreeDataCollector/PrivacyInfo.xcprivacy @@ -0,0 +1,21 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeLocalPayment/PrivacyInfo.xcprivacy b/Sources/BraintreeLocalPayment/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..f16b161ef2 --- /dev/null +++ b/Sources/BraintreeLocalPayment/PrivacyInfo.xcprivacy @@ -0,0 +1,57 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeName + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeEmailAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhoneNumber + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreePayPal/PrivacyInfo.xcprivacy b/Sources/BraintreePayPal/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..6bc425591d --- /dev/null +++ b/Sources/BraintreePayPal/PrivacyInfo.xcprivacy @@ -0,0 +1,33 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeName + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreePayPalNativeCheckout/PrivacyInfo.xcprivacy b/Sources/BraintreePayPalNativeCheckout/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..ed6d3c3a38 --- /dev/null +++ b/Sources/BraintreePayPalNativeCheckout/PrivacyInfo.xcprivacy @@ -0,0 +1,33 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeEmailAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeSEPADirectDebit/PrivacyInfo.xcprivacy b/Sources/BraintreeSEPADirectDebit/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..4729d26fda --- /dev/null +++ b/Sources/BraintreeSEPADirectDebit/PrivacyInfo.xcprivacy @@ -0,0 +1,45 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhysicalAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeName + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeThreeDSecure/PrivacyInfo.xcprivacy b/Sources/BraintreeThreeDSecure/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..743c2bf6be --- /dev/null +++ b/Sources/BraintreeThreeDSecure/PrivacyInfo.xcprivacy @@ -0,0 +1,69 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhoneNumber + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeEmailAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhysicalAddress + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeName + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + + diff --git a/Sources/BraintreeVenmo/PrivacyInfo.xcprivacy b/Sources/BraintreeVenmo/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..85d25e638a --- /dev/null +++ b/Sources/BraintreeVenmo/PrivacyInfo.xcprivacy @@ -0,0 +1,21 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePaymentInfo + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + +