BrandPay https://tosspayments.com
브랜드페이 iOS SDK
了解如何添加并使用브랜드페이 iOS SDK。
支持
- Xcode 12.x
- Swift 5.x
- iOS 11.0
SDK 添加
브랜드페이 iOS SDK 支持 Manual,Cocoapods,Swift Package Manager。
框架
我们提供如下框架。
# Base
Library/BrandPayBase.xcframework
# 생체인증 지원
Library/BiometricInterface.xcframework
# 카드 OCR 지원
Library/FinCubeOcrSDK.xcframework
Library/OCRInterface.xcframework
只需将所需框架拖动到《Target》的《General》标签下的《Frameworks, Libraries, and Embedded Content》部分即可。
Cocoapods
BrandPay iOS SDK也作为Cocoapods包提供。
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
# 생체인증 지원
pod 'BrandPay/Biometric'
# 카드 OCR 지원
pod 'BrandPay/OCR'
end
在包含《Podfile》文件的目录中,将《YOUR_TARGET_NAME》适当地进行修改后,执行以下命令:
pod install
Swift Package Manager
https://github.com/tosspayments/BrandPay
权限设置
BrandPay iOS SDK需要设置摄像头权限和生物识别权限。
Web与App之间消息处理的设置
extension BrandPayWebInterface: WebViewControllerType {
// var webView: WKWebView! // 선언되어있는 WKWebView instance를 사용합닏.
//
func installAppBridges() {
let biometricMessageHandler = WebScriptMessageHandler()
biometricMessageHandler.controller = self
biometricMessageHandler.register(appBridge: GetAppInfoAppBridge())
biometricMessageHandler.register(appBridge: HasBiometricAuthAppBridge())
biometricMessageHandler.register(appBridge: GetBiometricAuthMethodsAppBridge())
biometricMessageHandler.register(appBridge: VerifyBiometricAuthAppBridge())
biometricMessageHandler.register(appBridge: RegisterBiometricAuthAppBridge())
biometricMessageHandler.register(appBridge: UnregisterBiometricAuthAppBridge())
webView.configuration.userContentController.add(biometricMessageHandler, name: "ConnectPayAuth")
// * OCR 기능은 앱 패키지 별로 flk license file 로 관리됩니다.
let ocrMessageHandler = WebScriptMessageHandler()
ocrMessageHandler.controller = self
ocrMessageHandler.register(appBridge: ScanOCRCardAppBridge(licenseKeyFile: "tosspayment_20220513.flk"))
ocrMessageHandler.register(appBridge: IsOCRAvailableAppBridge())
webView.configuration.userContentController.add(ocrMessageHandler, name: "ConnectPayOcr")
}
// Javascript 호출을 해야 Message 처리가 가능합니다.
func evaluateJavaScriptSafely(javaScriptString: String) {
webView.evaluateJavaScript(javaScriptString) { (_, _) in
}
}
}