xcode 10 新特性

这里主要介绍一下Xcode10 版本主要更新的内容。
随着iOS12的发布,Xcode10已经能够从Mac App Store下载。
Xcode10包含了iOS十二、watchOS 五、macOS10.14以及tvOS 12的SDK。另外,开发者能够从Xcode中看到当前Deployment Target最低为iOS8,因此后续开发过程当中我的以为能够忽略iOS8以前的一些特性。
要想安装Xcode10,mac系统版本必须是macOS 10.13.6或者更高。这里对主要的一些变动作一些介绍(并不是全部)。html

弃用的东西

  • C++库libstdc++在Xcode8的时候已经弃用,在Xcode10以及以后将再也不支持(iOS target)。C++工程必须迁移到libc++。除了修改c++标准库的build setting,开发者还应该查看一下硬编码的linker flags和target的依赖,删除libstdc++(包括-lstdc++、-lstdc++6.0.九、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文件夹,而后重新运行。c++

已解决的问题

  • 新建的文件.h默认包含NS_ASSUME_NONNULL_BEGIN 和NS_ASSUME_NONNULL_END。这两个宏之间的代码,全部指针对象都会假定为nonull,因此咱们在开发的时候只须要指定那些nullable的对象便可。swift

新特性

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

    • 新建的schemes默认被全部用户共享。若是想建一个私人的scheme,在Manage Schemes中不选择Shared便可。

 

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

相关文章
相关标签/搜索