前言

这里主要介绍一下Xcode10 版本主要更新的内容。
随着iOS12的发布,Xcode10已经可以从Mac App Store下载。
Xcode10包含了iOS12、watchOS 5、macOS10.14以及tvOS 12的SDK。另外,开发者可以从Xcode中看到当前Deployment Target最低为iOS8,所以后续开发过程中个人觉得可以忽略iOS8之前的一些特性。
要想安装Xcode10,mac系统版本必须是macOS 10.13.6或者更高。这里对主要的一些变更做一些介绍(并非所有)。

新特性

  • NSData类型的数据可以直接导出来。例如一张图片转成data之后,在快速浏览框可以直接将data导出,最终保存成包含二进制的文件。

  • 新建的schemes默认被所有用户共享。如果想建一个私人的scheme,在Manage Schemes中不选择Shared即可。

  • 快捷键“Ctrl+0”可以打开弹出scheme选择,“Ctrl+Shift+0”可以弹出运行设备选择。当弹框出来的时候,可以直接使用键盘上的上下左右选择,然后点击回车即可选中。

  • Library控件库的位置从原来的右下角移动到了顶部,默认选中一个控件往StoryBoard拖得时候Library控件库会关闭,按住Option键可以在拖动控件的时候保持Library库不消失:

  • Library的位置从底部移动到了Inspector的上方window中。现在变得更加灵活,想Spotlight Search那样可以随意拖动,当元素拖动的时候,该Library框就会消失。但是如果按住Option键拖动,该弹框就不会消失。

现有问题

如果打开存储在iCloud Drive中保存的Xcode工程或者workspaces,或者是为存储在iCloud Drive中的工程通过git(其他version管理工具)切换分支,可能会导致Xcode终止运行。

已解决的问题

  • 新建的文件.h默认包含NS_ASSUME_NONNULL_BEGIN 和NS_ASSUME_NONNULL_END。这两个宏之间的代码,所有指针对象都会假定为nonull,所以我们在开发的时候只需要指定那些nullable的对象即可。

弃用的东西

  • C++库libstdc++在Xcode8的时候已经弃用,在Xcode10以及之后将不再支持(iOS target)。C++工程必须迁移到libc++。除了修改c++标准库的build setting,开发者还应该查看一下硬编码的linker flags和target的依赖,删除libstdc++(包括-lstdc++、-lstdc++6.0.9、libstdc++6.0.9.tbd和libstdc++6.0.9.dylib)的引用。项目中依赖的针对libstdc++构建的静态归档文件也需要针对libc++重新构建。(也就是说我们需要检查一下Target的Build Phases,里面的Link Binary With Libraries如果包含上述提到的库,需要删除,并且移除DrivedData)。
  • 移除了对Subversion的支持。
  • Xcode10是最后一个支持Swift3的版本。通过打开Project>Edit> Convert>To Current Swift Syntax..来将Swift3的代码转成swift4.2。
  • macOS 10.14SDK不再支持32位程序。如果开发者需要编译i386,使用Xcode9.4或者更早版本的Xcode。

设备

使用Xcode10运行老版本Xcode构建的WatchKit app,将会报错:“TheWatchKit app has an invalid stub executable”。解决办法:Clean build文件夹,然后从新运行。

文档查看

  • 按住option查看Quick Help的弹框展示内容变成了单列布局格式,并且选中查看的方法在弹框中展示的背景颜色和当前Xcode主题颜色一致:(当前为黑色主题,弹框的注释内容也是黑色)

模拟器

  • 原来在模拟器的Edit菜单有专门的Get PasteBoard && Send PasteBoard来做复制粘贴同步,现在在该菜单下有一个专门的item来处理复制粘贴操作:AutoMatically Sync PasteBoard。也就是说只要使用这个功能即可实现粘贴复制在mac和模拟器数据的同步。

编辑器

    • 支持多cursor编辑。快捷键:shift+control+点击(如果想取消某个cursor,则再次点击即可)

    • 不连续选中操作支持:control+shift+点击

xcode10的那些事的更多相关文章

  1. 关于Xcode10的那些事

    前言 这里主要介绍一下Xcode10 版本主要更新的内容. 随着iOS12的发布,Xcode10已经可以从Mac App Store下载. Xcode10包含了iOS12.watchOS 5.macO ...

  2. 【腾讯Bugly干货分享】H5 视频直播那些事

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...

  3. CSharpGL(31)[译]OpenGL渲染管道那些事

    CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

  4. TODO:字节的那点事Go篇

    TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的. fmt.Println(len(&quo ...

  5. Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事

    前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...

  6. OpenNLP:驾驭文本,分词那些事

    OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也 ...

  7. HTTPS那些事(一)HTTPS原理

    转载来自:http://www.guokr.com/post/114121/ 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传 ...

  8. 做一个 App 前需要考虑的几件事

    做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...

  9. Ctrl-A全选这点事(C#,WinForm)

    所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改 ...

随机推荐

  1. 深入理解JavaScript的设计模式

    使用适当的设计模式可以帮助你编写更好.更易于理解的代码.这样的代码也更容易维护.但是,重要的是不要过度使用它们.在使用设计模式之前,你应该仔细考虑你的问题是否符合设计模式. 当你开始一个新的项目时,你 ...

  2. while循环处理列表和字典

    一.在列表之间移动元素 假设有一个列表,里面存放的是网站新注册但没有验证的用户,验证这些用户后,如何将它们移动到另一个已验证用户列表中呢? 其中一种方法是使用while循环,在验证用户的同时,将其从未 ...

  3. luogu3415 祭坛

    先二分答案转化成判定问题. 考虑拿一根扫描线从 \(x=0\) 扫到 \(x=n\),每次移动扫描线更新每个位置它上面的点数和下面的点数,这样可以确定在当前的扫描线上哪些位置对于 \(y\) 轴方向是 ...

  4. STM32F407 外部中断 个人笔记

    IO口 STM32F4有上百个IO口中,每个都可以作为外部中断输入 中断线 STM32F4的中断控制器支持22个外部中断/事件请求(中断线) 对于每个中断线,我们可以设置相应的触发方式(上升沿触发,下 ...

  5. 图的最小生成树——Kruskal算法

    Kruskal算法 图的最小生成树的算法之一,运用并查集思想来求出最小生成树. 基本思路就是把所有边从小到大排序,依次遍历这些边.如果这条边所连接的两个点在一个连通块里,遍历下一条边,如果不在,就把这 ...

  6. VMware搭建Oracle 11g RAC测试环境 For Linux

    环境如下: Linux操作系统:Centos 6.5 64bit (这个版本的redhat 6内核等OS在安装grid最后执行root.sh时会出现crs-4124,是oracle11.2.0.1的b ...

  7. HDU3572:Task Schedule【最大流】

    上了一天课 心塞塞的 果然像刘老师那么说 如果你有挂科+4级没过 那基本上是WF队 题目大意:有时间补吧 思路:给每个任务向每个时间点连边容量为1 每个时间点向汇点连边 容量为机器的个数 源点向每个任 ...

  8. 【字符串+BFS】Problem 7. James Bond

    https://www.bnuoj.com/v3/external/gym/101241.pdf [题意] 给定n个字符串,大小写敏感 定义一个操作:选择任意m个串首尾相连组成一个新串 问是否存在一个 ...

  9. 普通平衡树(bzoj 3224)

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数 ...

  10. cobbler ks文件解释--转载

    cobbler中ks.cfg文件配置详解        许多系统管理员宁愿使用自动化的安装方法来安装红帽企业 Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart ...