Xcode 11 正式版的变化
Posted iOS开发精髓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode 11 正式版的变化相关的知识,希望对你有一定的参考价值。
xcode 11已经正式随着ios13的正式开放而发布了,官方的更新文档在whats-new上,xcode 11包括swift 5.1,ios 13 sdk,tv os13,watch os6 和mac os catalina 10.15的sdk. wwdc上有一篇视频介绍xcode 11的新功能 wwdc2019/401
这次xcode11的更新有点坑,竟然要30G的剩余空间才能更新,不然,就会一直提示空间不足!!
真不知道,为啥需要这么大的更新空间,官方也没给个明确的说明解释
编辑器的变化
1 增加了代码编辑器的小地图功能
小地图用来快读的跳转代码,非常方便,这个特性,以后绝对会成为最常用的功能之一.
image.png
2 增加了多编辑器
之前的编辑器只有多tab方式,
image.png
多tab的方式,有好处,也有不好的地方,不好的地方就是,打开的几个tab没法同时显示在界面上,你切换到tab1,那么tab2就会被隐藏. 可有时候,我们是希望可以同时在页面上展示多个代码编辑窗口.
xcode 11就支持,多个编辑器了
image.png
当点击这个后
就会多出来一个编辑器.每个都是可以独立操作,同时显示出来.
abc1.gif
3 对snippets media模态框的小调整
在xcode 10中,snippets和library是分开的,需要长按{}来弹出菜单来选择
image.png
出来的snippets library的模态框,详情和列表是分离的,需要点击等待才会出现
image.png
对于media library ,没有详情,其实这是很不利于操作的,因为有时候,我们需要了解原图等的大小
image.png
而在xcode 11中,这些都得到了很好的改进
首先是 snippets 和midia 合二为一,放在同一个视图上了,并且还添加了 详情视图,在详情视图中可以非常方便的了解到对象的某些信息,方便我们进行操作
image.png
对于 meida
image.png
在右边的详情视图中,显示了这个图片的分辨率等信息!
对于 color set
image.png
右边的详情视图,显示了对应的颜色的详情
4 代码编辑的右键菜单,增加了添加注释等
image.png
Swift UI
它是一个新的Swift框架和附加的设计工具,为构建用户界面提供了全新的方法。SwiftUI集编辑、运行、调试于一体
对于它的介绍,网上已经有一些文章了,这里我就不介绍了
Swift包管理工具(Swift Package Manager)
使用swift作为主代码的有福了.
代码管理(Source Control)
xcode自带的代码管理功能越来越强大和好用了,已经不亚于第三方的git管理工具了. 这次又增加了
cherry-pick :git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了,详细的解释可以参考git cherry-pick的使用
stash changes:参考自git-stash-reference
最大的一个使用场景是
使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码commit提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用git stash就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修Bug,等到修完Bug,提交到服务器上后,再使用git stash apply将以前一半的工作应用回来
image.png
一些警告和解决
1 launch storyboards已经提升为默认了
在这之前,启动页设置方式有两种
一是通过LaunchScreen.storyboard设置
二是通过 Assets.xcassets 增加 iOS Launch Image 设置启动页图片
但现在 会提示
'UILaunchImages' has been deprecated, use launch storyboards instead.
Assets.xcassets:1:1: Launch images are deprecated in iOS 13.0. Use a launch storyboard or XIB instead.
解决的时候,
在assets中删掉 LaunchImage 但是会提示报错
Assets.xcassets:1:1: None of the input catalogs contained a matching launch image set named "LaunchImage".
解决方式
build settings中的
Changing these in project settings Asset Catalog App Icon Set Name and Asset Catalog Launch Image Set Name
image.png
移除掉它就可以了
以上是关于Xcode 11 正式版的变化的主要内容,如果未能解决你的问题,请参考以下文章
Xcode中的变量模板(variable template)的用法