前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS开发之Xcode11后纯代码项目工程设置

iOS开发之Xcode11后纯代码项目工程设置

作者头像
YungFan
发布2019-12-26 17:55:29
1.8K0
发布2019-12-26 17:55:29
举报
文章被收录于专栏:学海无涯

Xcode 11发布之后,新建iOS项目工程时,会有很多变化,最大的变化是多了文件SceneDelegate,此时如果希望通过纯代码设置界面,流程与以往会有一些不一样,本文简单介绍一下。

纯代码的条件

删除Main Interface中的Main同时需要删除info.plist中的如下代码

代码语言:javascript
复制
<key>UISceneStoryboardFile</key>
<string>Main</string>
项目文件变化
  • AppDelegate.swift文件负责App的启动与终止,并负责与SceneDelegate交接。
  • SceneDelegate.swift文件负责管理应用程序的生命周期。
保留SceneDelegate
  1. AppDelegate中通过application(_:configurationForConnecting:options)返回一个UISceneConfiguration实例
  2. 完成启动后,控制权被交接给 SceneDelegate,它的 scene(_:willConnectTo:options:)将会被调用,设置window的根视图控制器
代码语言:javascript
复制
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = (scene as? UIWindowScene) else { return }
    //创建window
    self.window = UIWindow(windowScene: windowScene)
    //设置window的rootViewController
    self.window?.rootViewController = ViewController()
    self.window?.makeKeyAndVisible()
}
不保留SceneDelegate
  1. 删除SceneDelegate.swift
  2. 删除info.plist中的如下内容

删除内容.png

3.AppDelegate.swift中代码写成和Xcode11之前的样子

代码语言:javascript
复制
var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    //创建window
    self.window = UIWindow(frame: UIScreen.main.bounds)
    //设置window的rootViewController
    self.window?.rootViewController = ViewController()
    self.window?.makeKeyAndVisible()
    return true
}

4. AppDelegate.swift中的如下代码

代码语言:javascript
复制
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {}

func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 纯代码的条件
  • 项目文件变化
  • 保留SceneDelegate
  • 不保留SceneDelegate
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档