我这样写:
UIApplicationMain( CommandLine.argc, UnsafeMutableRawPointer(CommandLine.unsafeArgv) .bindMemory( to: UnsafeMutablePointer<Int8>.self, capacity: Int(CommandLine.argc)), nil, NSStringFromClass(AppDelegate.self))
要改变UIApplication类,替代
NSStringFromClass(MobileUIApplication.self)了
nil该配方。
但是,如果您的 唯一 目的是将UIApplication子类替换为共享应用程序实例,则有一种更简单的方法:在 Info.plist中 ,添加“
Principal
class”键并将其值设置为UIApplication子类的字符串名称,并使用
@objc(...)赋予该对象相同的Objective-
C名称的属性标记该子类的声明。
编辑 现在,在Swift
4.2中解决了此问题。
CommandLine.unsafeArgv现在具有正确的签名,并且可以
UIApplicationMain轻松拨打电话:
UIApplicationMain( CommandLine.argc, CommandLine.unsafeArgv, nil, NSStringFromClass(AppDelegate.self))



