












接上一篇文章 Swift 模块化框架的实现以及模块之间的解藕 之后, 我们近一步让app在启动之前就调用ModuleManager的初始化方法.
在OC中是有一个main.m文件以及一个main函数的,但是在swift中被去掉了,取而代之的是在AppDelegate.m中使用 @UIApplicationMain.
因此,想要实现这个功能就必须手动给它添加一个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) }
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。