Xcode 10 Release Notes (节选部分iOS相关内容)
本文只是节选了部分与
iOS
开发相关的内容, 若要了解所有详情, 请查阅官方文档
概览
- Xcode 10 包含SDK:
iOS 12
、watchOS 5
、macOS 10.14
和tvOS 12
- Xcode 10 只支持
iOS 8
、tvOS 9
、watchOS 2
以后的设备进行在线调试
- Xcode 10 的安装 要求 Mac 系统版本不低于
macOS 10.13.6
Xcode 的新特性
- 新创建的
schemes
默认是全工程共享
- 新添加快捷键:
* 打开后可以直接键入搜索
* `Ctrl+0`打开Scheme列表、
* `Ctrl+Shift+0`打开运行目标设备列表
Library
模块整改
* `Library`模块 变成了窗口形式,可以移动和调整大小,一拖动`items`就会消失,拖动时按住`Option`键就不会消失.
* `Library`模块的打开方式: 1)菜单`View -> Libraries`; 2)快捷键`Shift+Command+L`
* 根据激活的编辑器, 动态呈现对应的内容, 如代码片段、`Interface Builder`、`SpriteKit`或`SceneKit`等
* `Media Library`的打开方式: 1)菜单:`View > Libraries`; 2)快捷键 `Shift Command M`
* 打开`Library`时按住`Option`健,可以让其一直可见,直到被手动隐藏,而不是一使用之后就自动关闭
- 在工程设置界面中, 对于
macOS app
和app extensions
,Capabilities
选项新增了一个Hardened Runtime
功能. 启动该功能,macOS 10.14
会对你的app
进行新的加强型的安全保护, 但是需要你的app
被公正.
- 新创建的
Objective-C
文件, 其头文件首尾默认添加了NS_ASSUME_NONNULL_BEGIN
和NS_ASSUME_NONNULL_END
Asset Catalog
color set
可以使用系统颜色
- 在
macOS 10.14
以上的系统中, 可变图片和颜色可以有3种方式呈现:Light
、Dark
、和High Contrast
Asset Catalog
和View Debugger
的背景色可以设置为light
或dark
,前台元素会对应的对比显示
调试
Xcode
的view debugger
添加了改变appearance
的选项
- 命名的
color
会在view debug
的时候,显示名字,以及是否是系统颜色
废弃通知
- 在
Xcode 8
中废弃的libstdc++
, 在Xcode 10
中不再支持. 如果有用到libstdc++
的C++
的工程必须迁移到libc++
, 并建议支持版本不低于masOS 10.9
或iOS 7
.除了修改C++
的静态库, 开发者还需要审查有没有linker flags
或target 依赖
引用到libstdc++
(包含-lstdc++、-lstdc++.6.0.9、libstdc++.6.0.9.tbd 和 libstdc++.6.0.9.dylib
).所有使用libstdc++
的都需要重编为libc++
.
Libgcc
被废弃.Xcode 10
编译的app
, 要求macOS
版本要高于10.5
Xcode 10
是支持Swift 3
的最后一个版本.要尽快将Swift 3
的代码迁移到Swift 4.2
, 可以通过Edit > Convert > To Current Swift Syntax
来迁移.
macOS 10.14
的SDK
不再支持编译32-bit
的应用.如果要编译i386
, 只能用Xcode 9.4
及以前的版本.
签名和发布
- 支持命令行上传
app
到苹果.使用命令xcodebuild -export Archive
, 如果提供了一个ExportOptions.plist
文件,并包含键值对destination=upload
, 该命令就会执行上传.当然,Xcode
中必须包含相关的苹果开发者账号
- 归档后, 在
Organizer
中支持对app
进行公证.公证后,可以导出, 导出的app
包含一个stapled ticket
, 然后可以再走发布流程
代码管理
- 改善了代码授权工作流
- 集成了
Bitbucket Cloud
和Bitbucket Server
管理
- 集成了
GitLab.com
和GitLab self-hosted
管理
编译系统
Xcode 10
使用了一个新的编译系统.它具有更可靠、更好的编译性能.它可以捕获到旧的编译系统发现不了的工程配置问题
详情请参阅 官方文档
Interface Builder
详情请参阅 官方文档
代码编辑器
详情请参阅 官方文档
网友评论