InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Xcode 8 带来 Swift 3、编辑器插件,以及更多其他功能

  • 2016-06-20
  • 本文字数:936 字

    阅读完需:约 3 分钟

Apple 在 WWDC 2016 大会上公布了 适用于iOS、macOS、tvOS,以及watchOS 的最新版IDE:Xcode 8。目前依然处于Beta 测试版的Xcode 8 包含Swift 3,改进的地址和线程清理器(Address and thread sanitizer),新的编辑器扩展体系结构等新特性。

Apple 于 2015 年 12 月将 Swift开源,而Swift 3 是在这之后发布的首个主要版本。在InfoQ 之前发布的一篇报道中提过,Swift 3 并不是对这一开发语言的版本更新,同时也无法与老版本实现二进制兼容。为了帮助开发者将Swift 2.x 代码顺利移至Swift 3,Xcode 8 提供了Swift 迁移工具。按照惯例,在使用Xcode 迁移工具时必须确保代码架构中包含所有需要转换的目标,并且代码必须能在Xcode 7.3 中实现无错误编译。不过就算满足这些前提条件,迁移工作依然可能失败。Swift 博客列出了在迁移失败后可以考虑采用的解决方法。

Xcode 8 还提供了全新的运行时清理器和更严格的静态分析器:

  • 新增的线程清理器可以帮助开发者在 Swift 和 Objective-C 中发现和理解并发情况下出现的数据争用问题和其他 Bug。
  • 地址清理器现已支持 Swift 代码,可以帮助开发者找出与UnsafeMutablePointer有关的问题,Swift 主要使用UnsafeMutablePointer实现与 C 调用有关的互操作
  • 静态分析器现已支持通过更“激进”的方式检查是否存在为空性(Nullability)违背。该功能可检查项目和 System Header 调用是否存在违背,所有新项目均默认启用该功能。

Xcode 运行时清理器和静态分析器中包含的新功能只能用于 Swift 3。

在 UI 方面,Xcode 已可支持编辑器扩展,借助该功能可对 Xcode 编辑器进行定制。Xcode 8 还提供了用于创建编辑器扩展的全新项目模板。为防止编辑器扩展影响 Xcode 的稳定性,Xcode 编辑器扩展会在独立的进程中运行。

Apple 称,Xcode 8 的速度比老版本有大幅提高。尤其是重新设计的 Interface Builder 可以实现更高速度和更完善的控制能力,帮助开发者实时预览应用在任何 Apple 设备上的呈现效果。

若想进一步了解 Xcode 8 的所有改进,建议阅读 Xcode 8 发布说明。Xcode 8 安装文件体积 5.5GB,可从 Apple Developer Connection 下载页面下载。发布说明和 Xcode 8 安装文件仅限已注册开发者访问,但无需具备付费账户。

查看英文原文 Xcode 8 Brings Swift 3, Editor Plug-ins, and More

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2016-06-20 19:003494
用户头像

发布了 283 篇内容, 共 98.8 次阅读, 收获喜欢 58 次。

关注

评论

发布
暂无评论
发现更多内容

C++学习---cstdio的源码学习分析01-类型定义

桑榆

c++ 源码阅读 9月月更

羊了个羊区块链挖矿游戏系统开发模式玩法

开发微hkkf5566

一招教你如何高效批量导入与更新数据

华为云开发者联盟

数据库 sql 后端 企业号九月金秋榜

TiDB部署----openEuler2203/2003 单机部署TiDB 6.1.1

TiDB 社区干货传送门

安装 & 部署

跨链自动化中心 OAK Network,构建安全高效 Web3 基础设施

One Block Community

Substrate defi 跨链 区块链、

Vite+Vue3+Vue-Router+Vuex+CSS预处理器(less/sass) 配置指南 —— 全网最详细系列

海底烧烤店ai

前端 Vue3 9月月更 项目搭建

Vite构建的Vue3项目打包部署到Gitee —— 全网最详细系列

海底烧烤店ai

前端 vite Vue3 部署 9月月更

力扣151 - 反转字符串中的单词【双指针与字符串的火花】

Fire_Shield

双指针 LeetCode 9月月更

TiDB分布式事务—写写冲突

TiDB 社区干货传送门

故障排查/诊断

数字化转型的认识偏见十宗罪

博文视点Broadview

玩转ApiFox脚本实现自动化

Liam

测试 Postman API 测试自动化 脚本自动化

一步步搞懂MySQL元数据锁(MDL)

京东科技开发者

MySQL 数据库 元数据 数据库锁 mdl

十年大厂资深面试官告诉你,现在Java面试八股文都已经卷到什么程度了

Java永远的神

程序员 程序人生 设计模式 中间件 java面试

高并发之限流

源字节1号

软件开发 后端开发

荣耀帐号服务,让用户获取变得更简单

荣耀开发者服务平台

手机 物联网 安卓 移动开发 honor

一文带你了解隐私 Layer1

TinTinLand

区块链 隐私

云安全是什么?是哪个企业提出的概念?

行云管家

云计算 网络安全 安全 云安全

StarlingX 7.0 已发布!进一步强化可扩展性、安全性及灵活性

Geek_2d6073

Qualcomm IPQ5018 solution application wifi6 wallys ,QCN9074, 2. 4G/5G

wallys-wifi6

QCN9074 ipq5018' ipq5015

奇点云数据云平台发布DataSimba R3.8长期支持版

奇点云

奇点云

等保2.0是什么意思?谁能详细解释一下!

行云管家

云计算 等保 等级保护 等保2.0

活动报名| MongoDB 核心功能及其原理分析

MongoDB中文社区

mongodb

TiDB生命周期

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 数据库架构设计

MyBatis-Plus(二、常用注解)

注解 MyBatisPlus 9月月更

VUE3中watch与watchEffect —— 全网最详细系列

海底烧烤店ai

前端 响应式编程 Vue3 9月月更

【微信小程序】常用组件及基本使用详解

陈橘又青

小程序开发 9月月更

2022-09微软漏洞通告

火绒安全

microsoft 安全 终端安全 安全漏洞

依据TIdb执行计划的sql调优案例分享

TiDB 社区干货传送门

性能调优 管理与运维 HTAP 场景实践 大数据场景实践

MASA Framework的分布式锁设计

MASA技术团队

.net 分布式锁 MASA Framewrok MASA

理解elasticsearch的post_filter

程序员欣宸

elasticsearch 9月月更

数字机器人及超级自动化产品和方案提供商朗思科技加入龙蜥社区

OpenAnolis小助手

AI 龙蜥社区 CLA 朗思科技

  • 扫码添加小助手
    领取最新资料包
Xcode 8带来Swift 3、编辑器插件,以及更多其他功能_移动_Sergio De Simone_InfoQ精选文章