category loader for fabric

This commit is contained in:
Jack Flintermann 2015-10-19 18:01:16 -04:00
parent 574291ae60
commit 64c9346972
15 changed files with 83 additions and 3 deletions

View File

@ -332,6 +332,8 @@
04F3BB3E1BA89B1200DE235E /* PKPayment+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F3BB3B1BA89B1200DE235E /* PKPayment+Stripe.h */; settings = {ASSET_TAGS = (); }; };
04F3BB3F1BA89B1200DE235E /* PKPayment+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F3BB3C1BA89B1200DE235E /* PKPayment+Stripe.m */; settings = {ASSET_TAGS = (); }; };
04F3BB401BA89B1200DE235E /* PKPayment+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F3BB3C1BA89B1200DE235E /* PKPayment+Stripe.m */; settings = {ASSET_TAGS = (); }; };
04FCFA191BD59A8C00297732 /* STPCategoryLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 04FCFA171BD59A8C00297732 /* STPCategoryLoader.h */; settings = {ASSET_TAGS = (); }; };
04FCFA1A1BD59A8C00297732 /* STPCategoryLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FCFA181BD59A8C00297732 /* STPCategoryLoader.m */; settings = {ASSET_TAGS = (); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -513,6 +515,8 @@
04F39F241AEF2AFE005B926E /* StripeOSXTests-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeOSXTests-Shared.xcconfig"; sourceTree = "<group>"; };
04F3BB3B1BA89B1200DE235E /* PKPayment+Stripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PKPayment+Stripe.h"; sourceTree = "<group>"; };
04F3BB3C1BA89B1200DE235E /* PKPayment+Stripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PKPayment+Stripe.m"; sourceTree = "<group>"; };
04FCFA171BD59A8C00297732 /* STPCategoryLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCategoryLoader.h; sourceTree = "<group>"; };
04FCFA181BD59A8C00297732 /* STPCategoryLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCategoryLoader.m; sourceTree = "<group>"; };
11C74B9B164043050071C2CA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
4A0D74F918F6106100966D7B /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
FAFC12C516E5767F0066297F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
@ -715,6 +719,8 @@
04CDB4CF1A5F30A700B854EE /* StripeError.m */,
0433EB471BD06313003912B4 /* NSDictionary+Stripe.h */,
0433EB481BD06313003912B4 /* NSDictionary+Stripe.m */,
04FCFA171BD59A8C00297732 /* STPCategoryLoader.h */,
04FCFA181BD59A8C00297732 /* STPCategoryLoader.m */,
);
name = Stripe;
path = Tests/../Stripe;
@ -872,6 +878,7 @@
049E84DF1A605EF0000B66CD /* STPCheckoutDelegate.h in Headers */,
049E84E01A605EF0000B66CD /* STPCheckoutInternalUIWebViewController.h in Headers */,
04F3BB3E1BA89B1200DE235E /* PKPayment+Stripe.h in Headers */,
04FCFA191BD59A8C00297732 /* STPCategoryLoader.h in Headers */,
049E84E11A605EF0000B66CD /* STPCheckoutWebViewAdapter.h in Headers */,
049E84E21A605EF0000B66CD /* STPColorUtils.h in Headers */,
04CDE5CB1BC20B1D00548833 /* STPBankAccountParams.h in Headers */,
@ -1296,6 +1303,7 @@
files = (
0438EF451B74170D00D506CC /* STPCardValidator.m in Sources */,
0438EF311B7416BB00D506CC /* STPFormTextField.m in Sources */,
04FCFA1A1BD59A8C00297732 /* STPCategoryLoader.m in Sources */,
049E84C21A605DE0000B66CD /* STPAPIClient+ApplePay.m in Sources */,
049E84C31A605DE0000B66CD /* Stripe+ApplePay.m in Sources */,
049E84C51A605DE0000B66CD /* STPCheckoutOptions.m in Sources */,

View File

@ -16,3 +16,5 @@
+ (NSString *)stp_testTransactionIdentifier;
@end
void linkPKPaymentCategory(void);

View File

@ -31,3 +31,5 @@
}
@end
void linkPKPaymentCategory(void){}

View File

@ -91,3 +91,5 @@
}
@end
void linkSTPAPIClientApplePayCategory(void){}

View File

@ -41,3 +41,5 @@
}
@end
void linkStripeApplePayCategory(void){}

View File

@ -24,7 +24,8 @@ GCC_DYNAMIC_NO_PIC = NO
GCC_OPTIMIZATION_LEVEL = 0
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited)
STP_EXTRA_PREPROCESSOR_MACROS=
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited) $(STP_EXTRA_PREPROCESSOR_MACROS)
GCC_SYMBOLS_PRIVATE_EXTERN = NO

View File

@ -20,8 +20,8 @@ COPY_PHASE_STRIP = YES
ENABLE_NS_ASSERTIONS = NO
GCC_PREPROCESSOR_DEFINITIONS = NDEBUG
STP_EXTRA_PREPROCESSOR_MACROS=
GCC_PREPROCESSOR_DEFINITIONS = NDEBUG $(STP_EXTRA_PREPROCESSOR_MACROS)
// Validate Built Product

View File

@ -50,6 +50,7 @@ GCC_WARN_SHADOW = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE
STP_EXTRA_PREPROCESSOR_MACROS = STP_STATIC_LIBRARY_BUILD
// iOS Deployment Target
//

View File

@ -13,3 +13,5 @@
- (nullable NSDictionary *)stp_dictionaryByRemovingNullsValidatingRequiredFields:(nonnull NSArray *)requiredFields;
@end
void linkDictionaryCategory(void);

View File

@ -26,3 +26,5 @@
}
@end
void linkDictionaryCategory(void){}

View File

@ -25,3 +25,5 @@
+ (nonnull NSData *)formEncodedDataForPayment:(nonnull PKPayment *)payment;
@end
void linkSTPAPIClientApplePayCategory(void);

View File

@ -62,3 +62,5 @@
+ (void)createTokenWithPayment:(nonnull PKPayment *)payment operationQueue:(nonnull NSOperationQueue *)queue completion:(nonnull STPCompletionBlock)handler __attribute__((deprecated));
@end
void linkStripeApplePayCategory(void);

View File

@ -26,6 +26,10 @@
#import "FABKitProtocol.h"
#endif
#ifdef STP_STATIC_LIBRARY_BUILD
#import "STPCategoryLoader.h"
#endif
#define FAUXPAS_IGNORED_IN_METHOD(...)
static NSString *const apiURLBase = @"api.stripe.com/v1";
@ -56,6 +60,13 @@ static NSString *STPDefaultPublishableKey;
@implementation STPAPIClient
#ifdef STP_STATIC_LIBRARY_BUILD
+ (void)initialize {
[super initialize];
[STPCategoryLoader loadCategories];
}
#endif
+ (instancetype)sharedClient {
static id sharedClient;
static dispatch_once_t onceToken;

View File

@ -0,0 +1,17 @@
//
// STPCategoryLoader.h
// Stripe
//
// Created by Jack Flintermann on 10/19/15.
// Copyright © 2015 Stripe, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#ifdef STP_STATIC_LIBRARY_BUILD
@interface STPCategoryLoader : NSObject
+ (void)loadCategories;
@end
#endif

View File

@ -0,0 +1,26 @@
//
// STPCategoryLoader.m
// Stripe
//
// Created by Jack Flintermann on 10/19/15.
// Copyright © 2015 Stripe, Inc. All rights reserved.
//
#import "STPCategoryLoader.h"
#import "PKPayment+Stripe.h"
#import "NSDictionary+Stripe.h"
#import "Stripe+ApplePay.h"
#import "STPAPIClient+ApplePay.h"
#ifdef STP_STATIC_LIBRARY_BUILD
@implementation STPCategoryLoader
+ (void)loadCategories {
linkPKPaymentCategory();
linkDictionaryCategory();
linkStripeApplePayCategory();
linkSTPAPIClientApplePayCategory();
}
@end
#endif