- 为 Android、Flutter、iOS 和 RN SDK 的 Jenkinsfile 添加模块化版本控制 - 引入版本升级策略选择(major/minor/patch)和自定义版本号功能 - 实现多模块独立版本管理和选择性构建发布 - 更新 iOS SDK Package.swift 以支持独立模块化库 - 修改 iOS SDK podspec 文件以适应新的标签命名约定 - 优化 Jenkins 构建流程以支持按需选择特定模块进行构建和发布 - 修复 iOS 测试中的可选类型转换问题以提高代码健壮性
23 行
712 B
Swift
23 行
712 B
Swift
import Foundation
|
|
import XuqmCoreSDK
|
|
|
|
public enum LicenseFileReader {
|
|
|
|
public static func read() -> LicenseFile? {
|
|
guard let url = Bundle.main.url(forResource: "license", withExtension: "xuqm", subdirectory: "xuqm"),
|
|
let encrypted = try? String(contentsOf: url, encoding: .utf8) else {
|
|
return nil
|
|
}
|
|
return parse(encrypted)
|
|
}
|
|
|
|
static func parse(_ encrypted: String) -> LicenseFile? {
|
|
guard let json = try? LicenseFileCrypto.decrypt(encrypted),
|
|
let data = json.data(using: .utf8),
|
|
let file = try? JSONDecoder().decode(LicenseFile.self, from: data) else {
|
|
return nil
|
|
}
|
|
return file
|
|
}
|
|
}
|