2 Commits

Author SHA1 Message Date
cd16fd3ce3 5.25 2026-03-20 11:04:19 +07:00
e6c206197c 5.24 2026-03-12 22:41:32 +07:00
32 changed files with 3136 additions and 77 deletions

View File

@ -4,23 +4,6 @@
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string>
@ -52,6 +35,23 @@
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>25D125</string>
<string>25D2128</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.23</string>
<string>5.25</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -595,6 +595,24 @@ public let m2Version: Swift.String
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
#endif
@_Concurrency.MainActor public static func fetch()
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@ -988,6 +1006,9 @@ extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@ -1037,6 +1058,7 @@ extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}

View File

@ -10,47 +10,47 @@
</data>
<key>Info.plist</key>
<data>
F1GVPga+1MtTowhQcTnCvoU6iwk=
FRjNoxjlQ0HHFtj+xiPYLxsC4+Q=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<data>
uK1egN4TNOpqI7LfhzYdECB404U=
h+ZdUC/y+/SbJnC1H05D/x0D2ME=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<data>
b6yGoZe2t5JFyvbc+bBp9mmxeKE=
OcFGPcgxy3roT4fVDIuhjSGcLLY=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data>
mGsi25c1yMSjB7OanA3YwDEY2C4=
rlhF4Sz85tsVwXP20cC7sxNVfdU=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data>
b6yGoZe2t5JFyvbc+bBp9mmxeKE=
OcFGPcgxy3roT4fVDIuhjSGcLLY=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
pONqmJyaiprWE/9iY2KmMSWulvA=
mMG8n8Xb/FuwSAe6tXQyUr8lCUI=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data>
uK1egN4TNOpqI7LfhzYdECB404U=
h+ZdUC/y+/SbJnC1H05D/x0D2ME=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<data>
zf7PafSmD94pQk6yva+ngEeoRIY=
XadabFR8pCLxM/8uvKye4N5kTUM=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
m2SRc74BLjFj2H7rXNwCPCYEbS8=
Zzze8UGkFrW7XhH60dG4nj8V5Gg=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
zf7PafSmD94pQk6yva+ngEeoRIY=
XadabFR8pCLxM/8uvKye4N5kTUM=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
3naz0cDbHYzwcnqILYiXHU436HA=
HzHkZpOsmRcX/6rVtUt1Th9eO+I=
</data>
<key>Modules/module.modulemap</key>
<data>
@ -70,70 +70,70 @@
<dict>
<key>hash2</key>
<data>
rHk40s7rQxbLPT9NkWT16ILlNL/OlJKGOr+20vkQEXU=
ob5Jsi9geYadWUeV85kX/cI3KLBRsbfyd9nUdZQovAY=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
EwepU1vAFF7E+qGAi9oiNXLg1pHkZRPNiDnm/kfiuO8=
cwfjW3BIFRJiUdxACLBrvrxqDrhsXkIaLPFnyC9xvcM=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
PMfh7t7+W3JA71o5N/0ChUYXI4KBxqZS/IpnpnY6QPg=
HkOh7YMxbzgmADJSjeS6vE/GEBHJjmNIwp59t2yolt0=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
EwepU1vAFF7E+qGAi9oiNXLg1pHkZRPNiDnm/kfiuO8=
cwfjW3BIFRJiUdxACLBrvrxqDrhsXkIaLPFnyC9xvcM=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
5M1ymOr4rh3ZTfsDV/NshEt1SFyxOEVdLmI9gsxfq2c=
kqNVRVW11QmJeY3GaAfqhhqwp5Lu+DFG/b1JSnvaz60=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<dict>
<key>hash2</key>
<data>
rHk40s7rQxbLPT9NkWT16ILlNL/OlJKGOr+20vkQEXU=
ob5Jsi9geYadWUeV85kX/cI3KLBRsbfyd9nUdZQovAY=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
6kqR1FYRQ0rIeasslvLTM1JgnpdAvjVB4dYH5fkcPFM=
0YIE1xj3KR075SX8jupikjyqMvQnnpCSEx2iqRNYEaA=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
AJ2OmJCDNyyMLRxmu4EN5UtnBcccd912jR4MGtk9uV0=
XH0bXNW1ZMj5LIOrWPrDm8pg+nh6d78GNxYSnS5wpzY=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
6kqR1FYRQ0rIeasslvLTM1JgnpdAvjVB4dYH5fkcPFM=
0YIE1xj3KR075SX8jupikjyqMvQnnpCSEx2iqRNYEaA=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
ZDBqk1Ka7dWp9VvdA5J5yR2I7H0pZh8PvAyC0vQTGY8=
tCBElf68iYsYRJ6+CzvQVAHG70q7J+77ZjNGAOIqkt4=
</data>
</dict>
<key>Modules/module.modulemap</key>

View File

@ -11,7 +11,7 @@ let package = Package(
products: [
.library(
name: "M2Kit",
targets: ["M2Kit"]
targets: ["M2KitWrapper"]
),
],
targets: [
@ -19,5 +19,13 @@ let package = Package(
name: "M2Kit",
path: "./Frameworks/M2Kit.xcframework"
),
.target(
name: "M2KitWrapper",
dependencies: ["M2Kit"],
path: "Sources/M2KitWrapper",
resources: [
.copy("Resources/M2Kit.bundle")
]
),
]
)

View File

@ -1,3 +1,3 @@
M2Kit
=====
5.23
5.25

View File

@ -0,0 +1 @@
@_exported import M2Kit