在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
接上一篇文章 Swift 模块化框架的实现以及模块之间的解藕 之后, 我们近一步让app在启动之前就调用ModuleManager的初始化方法. 在OC中是有一个main.m文件以及一个main函数的,但是在swift中被去掉了,取而代之的是在AppDelegate.m中使用 @UIApplicationMain. 因此,想要实现这个功能就必须手动给它添加一个main方法
在项目中添加main方法
import UIKit import Foundation import ModuleManger private let pointer = UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory( to: UnsafeMutablePointer<Int8>?.self, capacity: Int(CommandLine.argc) ) let result = ModuleManagerApplicationMain( CommandLine.argc, pointer, NSStringFromClass(UIApplication.self), NSStringFromClass(AppDelegate.self) ) 3.在ModuleManager中添加入口函数 // app 入口函数 public func ModuleManagerApplicationMain(_ argc: Int32, _ argv: UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>!, _ principalClassName: String?, _ delegateClassName: String?) -> Int32 { ModuleManager.sharedInstance.setup() return UIApplicationMain(argc,argv,principalClassName,delegateClassName) }
|
请发表评论