这里主要介绍一下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或者更高。这里对主要的一些变更做一些介绍(并非所有)。

弃用的东西

  • 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文件夹,然后从新运行。

已解决的问题

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

新特性

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

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

详情路径传输: https://www.cnblogs.com/zhanggui/p/9686155.html

xcode 10 新特性的更多相关文章

  1. Windows 10 新特性 -- Bing Maps 3D地图开发入门(一)

    本文主要内容是讲述如何创建基于 Windows Universal App 的Windows 10 3D地图应用,涉及的Windows 10新特性包括 Bing Maps 控件.Compiled da ...

  2. JDK 5 ~ 10 新特性倾情整理!

    JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了. 为了大家对JDK ...

  3. C#10新特性-lambda 表达式和方法组的改进

    C# 10 中对Lambda的语法和类型进行了多项改进: 1. Lambda自然类型 Lambda 表达式现在有时具有"自然"类型. 这意味着编译器通常可以推断出 lambda 表 ...

  4. 【整理】Java 10新特性总结

    Java 9才发布几个月,很多玩意都没整明白,Java 10就来了..这时候我真尼玛想说:线上用的JDK 7 ,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK 10……刚学Java的 ...

  5. Java 10新特性

    ref:http://www.cocoachina.com/industry/20180309/22520.html https://www.oschina.net/news/94402/java-1 ...

  6. iOS 11系列 - Xcode 9新特性

    Xcode 9最近刚刚发布,带来了一系列不错的新特性,可以更好的帮助到开发者完成开发工作. Xcode Runtime Tool Xcode 9中有许多Runtime Tool可以帮助开发者找到代码错 ...

  7. 最通俗易懂的 Java 10 新特性讲解

    自从 Java 9 开始,Oracle 调整了 Java 版本的发布策略,不再是之前的 N 年一个大版本,取而代之的是 6 个月一个小版本,三年一个大版本,这样可以让 Java 的最新改变迅速上线,而 ...

  8. C#10新特性-全局和隐式usings

    .NET 6发布后支持C#10,C# 10 向 C# 语言添加了很多功能,今天我们分享一下全局和隐式usings的使用: using 指令简化了使用命名空间的方式. C# 10 包括一个新的全局 us ...

  9. IOS学习【xcode 7新特性url链接】

    由于xcode7的更新,在访问http链接的时候会输出错误信息 The resource could not be loaded because the App Transport Security ...

随机推荐

  1. Android面试收集录 蓝牙与WiFi

    1.打开手机中的蓝牙功能有哪些方法? 法1:使用Intent  ==>new Intent(BluetoothAdaper.ACTION_REQUEST_ENABLE); startActivi ...

  2. 第6模块 web框架口述题

    状态码如200 OK,以3位数字和原因 成.数字中的 一位指定了响应 别,后两位无分 .响应 别有以下5种. 重定向:客户端像服务器端发送请求,服务器告诉客户端你去重定向(状态码302,响应头loca ...

  3. LeetCode:12. Roman to Integer (Easy)

    1. 原题链接 https://leetcode.com/problems/roman-to-integer/description/ 2. 题目要求 (1)将罗马数字转换成整数:(2)范围1-399 ...

  4. android .9图制作

    andorid .9 图,可用于适配各种屏幕.制作的时候,很简单. 在stadio 里面,把鼠标放到图片的边界,点一下.这时候,图片的边缘会有黑块. 然后把鼠标放到黑块上,发现可以拉伸区域了. 这个区 ...

  5. java堆内存模型

     广泛地说,JVM堆内存被分为两部分——年轻代(Young Generation)和老年代(Old Generation). 年轻代 年轻代是所有新对象产生的地方.当年轻代内存空间被用完时,就会触发垃 ...

  6. 【连载】Bootstrap开发漂亮的前端界面之插件开发

    相关文章: 1.<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 3.<Bootstrap开发漂亮的前端界面之自定义 ...

  7. error LNK2001: unresolved external symbol "public: __thiscall ControllerInterface::ControllerInterface(class QObject *)" (??0ControllerInterface@@QAE@PAVQObject@@@Z) downloadcontroller.obj

    前几天刚遇到这个问题,但是今天再碰到就又要思考怎么解决.这次特别记录一下,以防下次碰到再手足无措: 1.看到这个报错第一感觉LNK关键字,表示连接错误,这种错误有几个可以下手的点 1)函数声明和定义是 ...

  8. java 泛型类转型

    public class NeedCasting { @SuppressWarnings("unchecked") public void f(String[] args)thro ...

  9. python基础训练营02

    任务二 时长:2天 1. 列表 a. 标志 b. 基本操作(创建,append( ),pop( ) ,del( ), 拷贝) c. 列表相关方法 2. 元组 a. 标志 b. 基本操作(创建及不可变性 ...

  10. beta版本冲刺七

    目录 组员情况 组员1:胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:何宇恒 组员11:刘一好 展示组内最新 ...