Skip to content

Commit

Permalink
Migrate Stripe3DS2.framework to libStripe3DS2.a
Browse files Browse the repository at this point in the history
## Summary
Removes Stripe3DS2.framework in favor of a static libStripe3DS2.a.

## Motivation
Nested frameworks are not allowed on the iOS App Store.

## Testing
* Tested dropping Stripe.framework into a sample app
* Tested sample app with Carthage
* Tested sample app with CocoaPods
* Passed the sample app through App Store validation
  • Loading branch information
davidme-stripe authored Jul 25, 2019
2 parents c8ad0af + d61f87b commit 772737a
Show file tree
Hide file tree
Showing 87 changed files with 357 additions and 77 deletions.
3 changes: 3 additions & 0 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ github_file_prefix: https://github.com/stripe/stripe-ios/tree/master
skip_undocumented: true
hide_documentation_coverage: true
theme: fullwidth
exclude:
- Stripe/PublicHeaders/STD*
- Stripe/PublicHeaders/Stripe3DS2.h
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 16.0.1 2019-07-25
* Migrates Stripe3DS2.framework to libStripe3DS2.a, resolving an issue with App Store validation.
* Fixes a crash in STPPaymentHandler.

## 16.0.0 2019-07-18
* Migrates STPPaymentCardTextField.cardParams property type from STPCardParams to STPPaymentMethodCardParams
* STPAddCardViewController:
Expand Down
Binary file not shown.
20 changes: 20 additions & 0 deletions InternalFrameworks/Stripe3DS2.bundle/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleIdentifier</key>
<string>com.stripe.stripe-3ds2</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Stripe3DS2</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
40 changes: 0 additions & 40 deletions InternalFrameworks/Stripe3DS2.framework/Headers/Stripe3DS2.h

This file was deleted.

Binary file removed InternalFrameworks/Stripe3DS2.framework/Info.plist
Binary file not shown.
Binary file removed InternalFrameworks/Stripe3DS2.framework/Stripe3DS2
Binary file not shown.
Binary file added InternalFrameworks/libStripe3DS2.a
Binary file not shown.
6 changes: 5 additions & 1 deletion Stripe.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ Pod::Spec.new do |s|
s.ios.deployment_target = '9.0'
s.public_header_files = 'Stripe/PublicHeaders/*.h'
s.source_files = 'Stripe/PublicHeaders/*.h', 'Stripe/*.{h,m}', 'Stripe/Payments/*{h,m}'
s.vendored_libraries = 'InternalFrameworks/libStripe3DS2.a'
s.ios.resource_bundle = { 'Stripe' => 'Stripe/Resources/**/*' }
s.vendored_frameworks = 'InternalFrameworks/Stripe3DS2.framework'
s.ios.resources = "InternalFrameworks/Stripe3DS2.bundle"
s.xcconfig = {
"OTHER_LDFLAGS" => "$(inherited) -ObjC"
}
end
261 changes: 245 additions & 16 deletions Stripe.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Stripe/Payments/STPPaymentHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPPaymentHandler.h"

#import <SafariServices/SafariServices.h>
#import <Stripe3DS2/Stripe3DS2.h>
#import <Stripe/Stripe3DS2.h>

#import "NSError+Stripe.h"
#import "STP3DS2AuthenticateResponse.h"
Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSButtonCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSButtonCustomization.h"
#import "STPThreeDSCustomization+Private.h"

#import <Stripe3DS2/STDSButtonCustomization.h>
#import <Stripe/STDSButtonCustomization.h>

@implementation STPThreeDSButtonCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSFooterCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSFooterCustomization.h"

#import "STPThreeDSCustomization+Private.h"
#import <Stripe3DS2/STDSFooterCustomization.h>
#import <Stripe/STDSFooterCustomization.h>

@implementation STPThreeDSFooterCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSLabelCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSLabelCustomization.h"

#import "STPThreeDSCustomization+Private.h"
#import <Stripe3DS2/STDSLabelCustomization.h>
#import <Stripe/STDSLabelCustomization.h>

@implementation STPThreeDSLabelCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSNavigationBarCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSNavigationBarCustomization.h"

#import "STPThreeDSCustomization+Private.h"
#import <Stripe3DS2/STDSNavigationBarCustomization.h>
#import <Stripe/STDSNavigationBarCustomization.h>

@implementation STPThreeDSNavigationBarCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSSelectionCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSSelectionCustomization.h"
#import "STPThreeDSCustomization+Private.h"

#import <Stripe3DS2/STDSSelectionCustomization.h>
#import <Stripe/STDSSelectionCustomization.h>

@implementation STPThreeDSSelectionCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSTextFieldCustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPThreeDSTextFieldCustomization.h"

#import "STPThreeDSCustomization+Private.h"
#import <Stripe3DS2/STDSTextFieldCustomization.h>
#import <Stripe/STDSTextFieldCustomization.h>

@implementation STPThreeDSTextFieldCustomization

Expand Down
2 changes: 1 addition & 1 deletion Stripe/Payments/STPThreeDSUICustomization.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#import "STPThreeDSCustomization+Private.h"
#import "STPThreeDSFooterCustomization.h"

#import <Stripe3DS2/STDSUICustomization.h>
#import <Stripe/STDSUICustomization.h>

@interface STPThreeDSUICustomization()
@property (nonatomic, strong) NSMutableDictionary<NSNumber *, STPThreeDSButtonCustomization *> *buttonCustomizationDictionary;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// Copyright © 2019 Stripe. All rights reserved.
//

#import <Stripe3DS2/Stripe3DS2.h>
#import "Stripe3DS2.h"

NS_ASSUME_NONNULL_BEGIN

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions Stripe/PublicHeaders/Stripe.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,6 @@
#import "STPUserInformation.h"
#import "StripeError.h"
#import "UINavigationBar+Stripe_Theme.h"

// 3DS2
#import "Stripe3DS2.h"
50 changes: 50 additions & 0 deletions Stripe/PublicHeaders/Stripe3DS2.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
//
// Stripe3DS2.h
// Stripe3DS2
//
// Created by Cameron Sabol on 1/16/19.
// Copyright © 2019 Stripe. All rights reserved.
//

#import <UIKit/UIKit.h>

//! Project version number for Stripe3DS2.
FOUNDATION_EXPORT double Stripe3DS2VersionNumber;

//! Project version string for Stripe3DS2.
FOUNDATION_EXPORT const unsigned char Stripe3DS2VersionString[];

#import "STDSConfigParameters.h"
#import "STDSThreeDS2Service.h"
#import "STDSUICustomization.h"
#import "STDSWarning.h"

#import "STDSAlreadyInitializedException.h"
#import "STDSInvalidInputException.h"
#import "STDSNotInitializedException.h"
#import "STDSRuntimeException.h"

#import "STDSErrorMessage.h"
#import "STDSProtocolErrorEvent.h"
#import "STDSRuntimeErrorEvent.h"
#import "STDSStripe3DS2Error.h"
#import "STDSThreeDSProtocolVersion.h"

#import "STDSAuthenticationRequestParameters.h"
#import "STDSAuthenticationResponse.h"
#import "STDSChallengeParameters.h"
#import "STDSChallengeStatusReceiver.h"
#import "STDSCompletionEvent.h"
#import "STDSJSONDecodable.h"
#import "STDSJSONEncoder.h"
#import "STDSTransaction.h"

#import "STDSButtonCustomization.h"
#import "STDSCustomization.h"
#import "STDSException.h"
#import "STDSFooterCustomization.h"
#import "STDSJSONEncodable.h"
#import "STDSLabelCustomization.h"
#import "STDSNavigationBarCustomization.h"
#import "STDSSelectionCustomization.h"
#import "STDSTextFieldCustomization.h"
2 changes: 1 addition & 1 deletion Stripe/STP3DS2AuthenticateResponse.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import "STP3DS2AuthenticateResponse.h"

#import <Stripe3DS2/Stripe3DS2.h>
#import <Stripe/Stripe3DS2.h>

#import "NSDictionary+Stripe.h"
#import "NSArray+Stripe.h"
Expand Down
2 changes: 1 addition & 1 deletion Stripe/STPAPIClient.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import <UIKit/UIKit.h>
#import <sys/utsname.h>

#import <Stripe3DS2/Stripe3DS2.h>
#import <Stripe/Stripe3DS2.h>

#import "STPAPIClient.h"
#import "STPAPIClient+ApplePay.h"
Expand Down
2 changes: 1 addition & 1 deletion Stripe/STPPaymentHandlerActionParams.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "STPPaymentHandlerActionParams.h"

#import "STPAPIClient.h"
#import <Stripe3DS2/Stripe3DS2.h>
#import <Stripe/Stripe3DS2.h>
#import "STPPaymentIntent.h"
#import "STPSetupIntent.h"
#import "STPThreeDSCustomizationSettings.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSButtonCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//

#import <XCTest/XCTest.h>
#import <Stripe3DS2/STDSButtonCustomization.h>
#import <Stripe/STDSButtonCustomization.h>

#import "STPThreeDSButtonCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSFooterCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import <XCTest/XCTest.h>

#import <Stripe3DS2/STDSFooterCustomization.h>
#import <Stripe/STDSFooterCustomization.h>

#import "STPThreeDSFooterCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSLabelCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import <XCTest/XCTest.h>

#import <Stripe3DS2/STDSLabelCustomization.h>
#import <Stripe/STDSLabelCustomization.h>

#import "STPThreeDSLabelCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSNavigationBarCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import <XCTest/XCTest.h>

#import <Stripe3DS2/STDSNavigationBarCustomization.h>
#import <Stripe/STDSNavigationBarCustomization.h>

#import "STPThreeDSNavigationBarCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSSelectionCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//

#import <XCTest/XCTest.h>
#import <Stripe3DS2/STDSSelectionCustomization.h>
#import <Stripe/STDSSelectionCustomization.h>

#import "STPThreeDSSelectionCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSTextFieldCustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//

#import <XCTest/XCTest.h>
#import <Stripe3DS2/STDSTextFieldCustomization.h>
#import <Stripe/STDSTextFieldCustomization.h>

#import "STPThreeDSTextFieldCustomization.h"
#import "STPThreeDSCustomization+Private.h"
Expand Down
2 changes: 1 addition & 1 deletion Tests/Tests/STPThreeDSUICustomizationTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//

#import <XCTest/XCTest.h>
#import <Stripe3DS2/STDSUICustomization.h>
#import <Stripe/STDSUICustomization.h>

#import "STPThreeDSCustomization+Private.h"

Expand Down
4 changes: 4 additions & 0 deletions ci_scripts/check_public_headers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
/\#import \"(.*?)\"\n/.match(line)
end.compact.map do |match|
match.captures.first
end + File.readlines("Stripe/PublicHeaders/Stripe3DS2.h").map do |line|
/\#import \"(.*?)\"\n/.match(line)
end.compact.map do |match|
match.captures.first
end + ["Stripe.h"]).sort
contents_of_public_headers_dir = Dir.glob("Stripe/PublicHeaders/*.h").map { |h| File.basename(h) }.sort

Expand Down
4 changes: 3 additions & 1 deletion ci_scripts/check_resource_bundle.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
require 'xcodeproj'

contents_of_resources_dir = Dir.glob("Stripe/Resources/Images/*.png").map { |h| File.basename(h) }.uniq.sort
puts contents_of_resources_dir
targets = ['StripeiOSResources', 'StripeiOS']
targets.each do |target|

Expand All @@ -19,7 +20,8 @@
if duplicates.any?
abort("Found some duplicate entries in the resources build phase for target #{target}:\n#{duplicates}")
end
resources = resource_bundle_files.uniq.sort.select{ |n| !(n.end_with?(".strings") || n.end_with?(".sh")) }
resources = resource_bundle_files.uniq.sort.select{ |n| !(n.end_with?(".strings") || n.end_with?(".sh") || n == "Stripe3DS2.bundle") }
puts resources

if contents_of_resources_dir != resources
likely_culprits = ((contents_of_resources_dir - resources) + (resources - contents_of_resources_dir)).uniq
Expand Down
1 change: 1 addition & 0 deletions ci_scripts/run_analyzer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ xcodebuild clean analyze \
-configuration "Debug" \
-sdk "iphonesimulator" \
ONLY_ACTIVE_ARCH=NO \
OTHER_LDFLAGS="\$(inherited) -Wl,-no_compact_unwind" \
| tee "${log_file}" \
| xcpretty

Expand Down

0 comments on commit 772737a

Please sign in to comment.