PayME-Miniapp 0.4.9-alpha.2

PayME-Miniapp 0.4.9-alpha.2

Minh Dat 维护。



 
依赖关系
ZIPFoundation~> 0.9
GCDWebServer~> 3.0
SwiftyJSON~> 4.0
NSLogger/Swift>= 0
lottie-ios~> 4.4.0
Mixpanel-swift~> 4.0
CryptoSwift~> 1.8.0
SwiftyRSA>= 0
 

PayME-Miniapp 0.4.9-alpha.2

  • DatTM

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能够正常运行 img.png

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”中->点击右上角的加号以打开添加功能窗口 img_1.png 搜索并选择“Background Modes”,启用“Background Fetch” img.png

设置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-----
                                  """))