PayMEMiniApp (iOS)
安装
从 CocoaPods 安装库
PayMEMiniApp 是一个通过 CocoaPods 提供的 dynamic framework。为了将其安装到项目中,请将使用该框架的声明添加到 Podfile
use_framework!
pod PayMEMiniApp
添加到 Podfile 的末尾
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
如果您的项目不使用 framework,则需要更改构建配置以声明 framework,如下所示:
$dynamic_framework = ['PayMEMiniApp', 'CryptoSwift', 'SwiftyRSA', 'GCDWebServer', 'NSLogger', 'lottie-ios', 'SwiftyJSON', 'ZIPFoundation', 'Mixpanel-swift']
pre_install do |installer|
installer.pod_targets.each do |pod|
if $dynamic_framework.include?(pod.name)
def pod.build_type;
Pod::BuildType.dynamic_framework
end
end
end
end
设置兼容于PayMEMiniApp的应用
Info.plist
更新Info.plist中的以下键以确保PayMEMiniApp能够正常运行
Privacy - Camera Usage Description
Privacy - Face ID Usage Description
Privacy - Photo Library Usage Description
Privacy - Photo Library Additions Usage Description
Privacy - Contacts Usage Description
Privacy - Location When In Use Usage Description
Privacy - Location Always Usage Description
原始键版本
NSCameraUsageDescription
NSFaceIDUsageDescription
NSPhotoLibraryUsageDescription
NSPhotoLibraryAddUsageDescription
NSContactsUsageDescription
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
添加功能
在XCode中,选择您的应用在“targets”->“signing & capabilities”中->点击右上角的加号以打开添加功能窗口 搜索并选择“Background Modes”,启用“Background Fetch”
设置PayMEMiniApp版本更新
在AppDelegate中添加以下行
import UIKit
import PayMEMiniApp
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
...
func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) {
completionHandler()
}
...
}
初始化 PayMEMiniApp
设置 PayME 部分密钥
密钥包括:appId、publicKey、privateKey。请联系 PayME 以获取指导。
初始化对象
- 初始化 PayMEKey:是一个包含上面步骤获得的密钥的对象
PayMEKey(appId: String, publicKey: String, privateKey: String)
- 初始化 PayME:是一个包含整个 PayMEMiniApp 的 UIViewController。初始化此对象也会开始检查和下载 PayMEMiniApp 的版本,因此建议在应用启动时尽早初始化。示例
PayME(key: PayMEKey): UIViewController
let payme = PayME(key: PayMEKey(appId: "559163930378", publicKey: """ -----BEGIN PUBLIC KEY----- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAK0RONYVPYn/3IWloU83Qy16hKNHhlCx gTJay6/rERk8tmsMbILLzTYW7H9WOqN2gS0s0ymD+3TxP+q+MxEp0qECAwEAAQ== -----END PUBLIC KEY----- """, privateKey: """ -----BEGIN RSA PRIVATE KEY----- MIIBOgIBAAJBAMXIuvTT8Z5U/AqyFvBbDApQ2STLm9Ca2nmu2pxqwhrhN+80mOLb MzbQDRCNpro6S61d34A7cEIX/5gxxrAaVAkCAwEAAQJAfzB70e/uJHTgdHxcNgtG 7edaDMiHFhpPPwtL+GTLGH70yhFDs2eIXFHLY/wfRRcxzwGyGOyvXlGbDjsMFdpn lQIhAPIoUVsADDfI4KNZEKHaJRVAmz2D0xdiB6R716HA7A0XAiEA0RcPxHzYLhVp +adoGpJBq7e87BzQrVBJQFSOg8Kim98CIQCYmynyFEye1zwiFR3zMfuOsiFjGfFs 2f2A/f69VEwuTwIgFN/3jAdm0dsDdJBZHWYCtnEmpHAQCW2dkpWekNsKvwMCIGXm rg+mppNNZQx6+6Swsp8L8Hgc+HikKy02Okijjw0W -----END RSA PRIVATE KEY----- """))