Skip to content

Commit

Permalink
iOS: Release 2.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
skirsche-ieffects committed Aug 31, 2022
1 parent 9c4f24f commit 7e39140
Show file tree
Hide file tree
Showing 231 changed files with 25,476 additions and 1,408 deletions.
40 changes: 40 additions & 0 deletions DTKlarna.xcframework/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?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>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>DTKlarna.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>DTKlarna.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#import <Foundation/Foundation.h>

//! Project version number for DTKlarna.
FOUNDATION_EXPORT double DTKlarnaVersionNumber;

//! Project version string for DTKlarna.
FOUNDATION_EXPORT const unsigned char DTKlarnaVersionString[];

#import <DTKlarna/DTKlarnaPaymentError.h>
#import <DTKlarna/DTKlarnaPaymentView.h>
#import <DTKlarna/DTKlarnaSDK.h>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#import <Foundation/Foundation.h>

@class KlarnaPaymentError;

@interface DTKlarnaPaymentError : NSObject // Matches KlarnaPaymentError/KlarnaMobileSDKError

- (nonnull instancetype)initWithError:(nonnull KlarnaPaymentError *)error NS_DESIGNATED_INITIALIZER;

- (nonnull instancetype)init NS_UNAVAILABLE;

// From KlarnaMobileSDKError
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull message;
@property (nonatomic, readonly) BOOL isFatal;

// From KlarnaPaymentError
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable invalidFields;
@property (nonatomic, readonly, copy) NSString * _Nullable action;

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#import <UIKit/UIKit.h>

@class DTKlarnaPaymentView;
@class DTKlarnaPaymentError;

@protocol DTKlarnaPaymentEventListener // Matches KlarnaPaymentEventListener
- (void)klarnaInitializedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaInitialized(paymentView:));
- (void)klarnaLoadedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaLoaded(paymentView:));
- (void)klarnaLoadedPaymentReviewWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaLoadedPaymentReview(paymentView:));
- (void)klarnaAuthorizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken finalizeRequired:(BOOL)finalizeRequired NS_SWIFT_NAME(klarnaAuthorized(paymentView:approved:authToken:finalizeRequired:));
- (void)klarnaReauthorizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken NS_SWIFT_NAME(klarnaReauthorized(paymentView:approved:authToken:));
- (void)klarnaFinalizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken NS_SWIFT_NAME(klarnaFinalized(paymentView:approved:authToken:));
- (void)klarnaResizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView to:(CGFloat)newHeight NS_SWIFT_NAME(klarnaResized(paymentView:to:));
- (void)klarnaFailedInPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView withError:(DTKlarnaPaymentError * _Nonnull)error NS_SWIFT_NAME(klarnaFailed(inPaymentView:withError:));
@end

@interface DTKlarnaPaymentView : UIView
- (nonnull instancetype)initWithCategory:(NSString * _Nonnull)category eventListener:(id <DTKlarnaPaymentEventListener> _Nonnull)eventListener NS_DESIGNATED_INITIALIZER;

- (nonnull instancetype)init NS_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(nonnull NSCoder *)coder NS_UNAVAILABLE;
- (nonnull instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;

- (void)authorize;
- (void)initializeWithClientToken:(NSString * _Nonnull)clientToken returnUrl:(NSURL * _Nonnull)returnUrl NS_SWIFT_NAME(initialize(clientToken:returnUrl:));
- (void)load;
@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#import <Foundation/Foundation.h>

// The DTKlarna.xcframework exists because weakly linking KlarnaMobileSDK.xcframework
// to Datatrans.xcframework, or any other framework that contains any kind of Swift
// code and supports iOS 13 and older, makes Bitcode recompilation fail when
// KlarnaMobileSDK.xcframework is not distributed alongside the app.
//
// DTKlarna.xcframework has to wrap all required classes/protocols because exposing
// anything from KlarnaMobileSDK.xcframework would require Datatrans.xcframework to
// also link to KlarnaMobileSDK.xcframework.
//
// I did not test if it would be possible to build DTKlarna.xcframework in Swift. This
// might work, because DTKlarna.xcframework strongly (Required instead of Optional)
// links KlarnaMobileSDK.xcframework.
//
// This is the Bitcode recompilation error:
// Undefined symbols for architecture arm64:
// "__ZN5swift34swift50override_conformsToProtocolEPKNS_14TargetMetadataINS_9InProcessEEEPKNS_24TargetProtocolDescriptorIS1_EEPFPKNS_18TargetWitnessTableIS1_EES4_S8_E", referenced from:
// _Swift50Overrides in 183.o
// "__ZN5swift39swift51override_conformsToSwiftProtocolEPKNS_14TargetMetadataINS_9InProcessEEEPKNS_24TargetProtocolDescriptorIS1_EEN7__swift9__runtime4llvm9StringRefEPFPKNS_35TargetProtocolConformanceDescriptorIS1_EES4_S8_SC_E", referenced from:
// _Swift50Overrides in 183.o
// _Swift51Overrides in 184.o

@class DTKlarnaPaymentView;
@protocol DTKlarnaPaymentEventListener;

// Matches KlarnaLoggingLevel
typedef NS_ENUM(NSInteger, DTKlarnaLoggingLevel) {
DTKlarnaLoggingLevelOff = 0,
DTKlarnaLoggingLevelError = 1,
DTKlarnaLoggingLevelVerbose = 2
};

// The protocol DTKlarnaSDK exists because touching DTKlarnaSDK.Type would
// cause Bitcode recompilation to fail when a weakly linked DTKlarna.xcframework
// is not distributed alongside the app.
//
// Using DTKlarnaSDKProtocol.Type is ok. This makes it possible to use this
// library directly from Swift when weakly linked.

@protocol DTKlarnaSDK

+ (nonnull DTKlarnaPaymentView *)createKlarnaPaymentViewWithCategory:(nonnull NSString *)category eventListener:(nonnull id<DTKlarnaPaymentEventListener>)eventListener NS_SWIFT_NAME(createKlarnaPaymentView(category:eventListener:));
+ (void)setLoggingLevel:(DTKlarnaLoggingLevel)loggingLevel;

@end

@interface DTKlarnaSDK : NSObject <DTKlarnaSDK>

@end
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
framework module DTKlarna {
umbrella header "DTKlarna.h"

export *
module * { export * }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
<?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>files</key>
<dict>
<key>Headers/DTKlarna.h</key>
<data>
/U8qSFxfzx4T5lHCAL8rM0gNyJ4=
</data>
<key>Headers/DTKlarnaPaymentError.h</key>
<data>
6oPMEdFS7GOy0NtoH8MnaRTv/k8=
</data>
<key>Headers/DTKlarnaPaymentView.h</key>
<data>
d+2VszyHDlMceV6kx0VUA0n9oc4=
</data>
<key>Headers/DTKlarnaSDK.h</key>
<data>
vuKfkRMKDGIYdKDT55nL1TztjU8=
</data>
<key>Info.plist</key>
<data>
apqJoHkq2uzpntN2TmP3Hw/Qfpg=
</data>
<key>Modules/module.modulemap</key>
<data>
MvGtf3aXz226FXCshWrw6WnisIE=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/DTKlarna.h</key>
<dict>
<key>hash2</key>
<data>
Ssacf+YdZmXbHQfAuWuQeVd/oahGLcUvEqlxPtFor8I=
</data>
</dict>
<key>Headers/DTKlarnaPaymentError.h</key>
<dict>
<key>hash2</key>
<data>
B8upbbDREg51KsVSvxm56G1aqiO4TRTBqwz2ocFbXvM=
</data>
</dict>
<key>Headers/DTKlarnaPaymentView.h</key>
<dict>
<key>hash2</key>
<data>
QOiKfqNKMqN+VbAeQAGcj1KzicYy+5CGsiEYYQ3WF1c=
</data>
</dict>
<key>Headers/DTKlarnaSDK.h</key>
<dict>
<key>hash2</key>
<data>
UkNEiOBzb1OsYpTKgGox7d0hjIOh2/8NXfFiB4iFpq0=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash2</key>
<data>
6kiwbbAK2IYDavkoXeiA9YYsr7M7Z6c7o/RFDjFgjz8=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#import <Foundation/Foundation.h>

//! Project version number for DTKlarna.
FOUNDATION_EXPORT double DTKlarnaVersionNumber;

//! Project version string for DTKlarna.
FOUNDATION_EXPORT const unsigned char DTKlarnaVersionString[];

#import <DTKlarna/DTKlarnaPaymentError.h>
#import <DTKlarna/DTKlarnaPaymentView.h>
#import <DTKlarna/DTKlarnaSDK.h>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#import <Foundation/Foundation.h>

@class KlarnaPaymentError;

@interface DTKlarnaPaymentError : NSObject // Matches KlarnaPaymentError/KlarnaMobileSDKError

- (nonnull instancetype)initWithError:(nonnull KlarnaPaymentError *)error NS_DESIGNATED_INITIALIZER;

- (nonnull instancetype)init NS_UNAVAILABLE;

// From KlarnaMobileSDKError
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull message;
@property (nonatomic, readonly) BOOL isFatal;

// From KlarnaPaymentError
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable invalidFields;
@property (nonatomic, readonly, copy) NSString * _Nullable action;

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#import <UIKit/UIKit.h>

@class DTKlarnaPaymentView;
@class DTKlarnaPaymentError;

@protocol DTKlarnaPaymentEventListener // Matches KlarnaPaymentEventListener
- (void)klarnaInitializedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaInitialized(paymentView:));
- (void)klarnaLoadedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaLoaded(paymentView:));
- (void)klarnaLoadedPaymentReviewWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView NS_SWIFT_NAME(klarnaLoadedPaymentReview(paymentView:));
- (void)klarnaAuthorizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken finalizeRequired:(BOOL)finalizeRequired NS_SWIFT_NAME(klarnaAuthorized(paymentView:approved:authToken:finalizeRequired:));
- (void)klarnaReauthorizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken NS_SWIFT_NAME(klarnaReauthorized(paymentView:approved:authToken:));
- (void)klarnaFinalizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView approved:(BOOL)approved authToken:(NSString * _Nullable)authToken NS_SWIFT_NAME(klarnaFinalized(paymentView:approved:authToken:));
- (void)klarnaResizedWithPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView to:(CGFloat)newHeight NS_SWIFT_NAME(klarnaResized(paymentView:to:));
- (void)klarnaFailedInPaymentView:(DTKlarnaPaymentView * _Nonnull)paymentView withError:(DTKlarnaPaymentError * _Nonnull)error NS_SWIFT_NAME(klarnaFailed(inPaymentView:withError:));
@end

@interface DTKlarnaPaymentView : UIView
- (nonnull instancetype)initWithCategory:(NSString * _Nonnull)category eventListener:(id <DTKlarnaPaymentEventListener> _Nonnull)eventListener NS_DESIGNATED_INITIALIZER;

- (nonnull instancetype)init NS_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(nonnull NSCoder *)coder NS_UNAVAILABLE;
- (nonnull instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;

- (void)authorize;
- (void)initializeWithClientToken:(NSString * _Nonnull)clientToken returnUrl:(NSURL * _Nonnull)returnUrl NS_SWIFT_NAME(initialize(clientToken:returnUrl:));
- (void)load;
@end
Loading

0 comments on commit 7e39140

Please sign in to comment.