What’s new管理 in Xcode 9

工具

Xtrace:能详细打印出一个某部方法被调用的仓库,方便调试时定位问题

xtrace

Chisel:facebook推出,用于扶持调试iOS程序的LLDB命令行工具(顶级好用,本人使用的最多
\_

chisel

xctool:facebook出的全自动编译工具,不像xcodebuild,它亦可净化的打印出日记

xctool

UYLPasswordManager:对走访iOS
Keychain的封装库。

sqlcipher:这是眼前自己已知的绝无仅有一个支撑对SQLite加密的免费开源库,对应的有收费版本。本开源库实现了对SQLite开源免费版本中未实现的加密接口,同时做了肯定的恢弘。使用的是256位AES加密方法。

强烈推荐!

Xcode-Snippets:AFNetworking作者、mattt大神开源的常用Xcode代码片段


初窥

民用认为这些博客值得珍藏,能用好内部的始末,对于iOS的开发者来说会是一个中度的帮忙。转载于此,一是为了让好东西我们享,二来也视作是友善的一个收藏,好找!

前言
本文目的在于收集github上精美的开源项目
正文搜集的花色都是用来iOS开发

图表来源官网

正文转载自:http://foggry.com/blog/2014/04/25/githubyou-xiu-xiang-mu-ios/

总结

利用下来,感觉Xcode 9的真心满满,苹果终于要改变一下本人令人非议的IDE了。但Beta版各样不安静仍然一如既往,时不时的打不开模拟器,必须要完全退出Xcode再也打开,稳定性还有待加强。

文中如有错误漏洞,欢迎指正。

自定义view

DZTableView:仿照UITableView机制自己实现的一个自定义tableview,带有详细的求证文档

AMWaveTransition:很炫的含有表格的视图控制器切换效果,点击每个栏目会少于带有波浪效果的音信呈现,类似于FacebookPaper

Simmer:又是facebook出的,可以让view体现波光粼粼的功用

shimmer

PSTCollectionView:
仿照系统的UICollectionView的API实现的collection
view,辅助ARC和iOS4.3+系统,可用以代替只可以从iOS6开始协理的UICollectionView

JDStatusBarNotification:各个样式在状态栏展现音讯,包括指示、进度等,显示格式和动画情势也有某些种。下图只是以静态情势显示其意义,更多详情请点击链接查看

styles

SphereView:一个球形3D标签,可以加大、收缩、拖动、点击、自动旋转。效果挺玄的,就是感到有点卡,还有一定的优化空间。下图截了一个静态图片:

SphereView

RESideMenu:iOS7风格的侧滑菜单,扶助左右双向侧滑

RESideMenu

REMenu:自定义的下拉菜单

remenu

Vurig-Calendar:自定义的日历,界面很简短,月份切换时动画效果也不易

framework_Vurig-Calendar

M80AttributedLabel:效用较齐全的attributed
lable,协助attributed string和图纸、链接、控件的混排。

BCMeshTransformView:实现了分外炫的拉幕式的界面切换效果,其灵感来自CALayer的个人属性meshTransform以及和其对应的CAMeshTransform。

BCMeshTransformView

DKCircleButton:一个扁平化的,能带声波效果的按钮。

DKCircleButton

TwitterCover:知乎和讯开发者仿照Twitter的iOS客户端中的效果实现的向下带动滚动视图,视图顶端的图样会趁机下拉而变大,并且包含模糊的功能。

TwitterCover

Reference

支付框架

pop:facebook这神奇的卡通引擎,你领会…

pop

KVOController:facebook出品,基于Cocoa的KVO开发,提供简单地使用方法,同时也是线程安全的。

Aspects:通过method
swizzling技术,可以在一个类的现有措施执行此前或之后附加一个代码片段(以block格局),能极大的方便大家调试。

PSPDFKit:相当强劲的PDF开发框架,有异步加载、预览、编辑、加标注等很多效应

TEAChart:使用简便,效能

TEAChart

SearchCoreTest:一个关联人搜索库,援助的查找格局包括:用户名汉字、拼音及模糊搜索,号码搜索,最重要的是支撑T9搜索,做过报道录类应用的同桌都懂的。我在品种里用过,很赞。

XMPPFramework:应该是XMPP协议Objective-C实现的最好本子,小型开发者想做IM应用的好选拔,使用起来也很有益于。

JSQMessagesViewController:一个通用聊天界面框架,效果不错,感谢作者的开源。这些框架后来被国内某无耻程序员修改成MessageDisplay基特,大有据为己有之势

JSQMessagesViewController

vTeam:一个开发者积累多年的开销框架,值得看看。

AGGeometryKit:几何图形框架,把AGGeometry基特(Kit)和POP结合起来使用,可实现充足棒的动态和卡通。

IMQuickSearch:IMQuickSearch是一个高速搜索工具,能够过滤包含多种自定义NSObject类的NSArray。

IMQuickSearch

iOSPlot:新加坡共和国开发者honcheng实现的图标制作框架,帮助折线图、饼状图等

iOSPlot

Editor

打开Xcode 9之后,发现iOS标签多了AR
文件管理两个。并且Framework的图标也得到了合并。不再拟物。放个比较(左:Xcode
8,右:Xcode 9).

按照正常的老路,随便新建一个工程。

开辟工程的首先眼,就感到编辑区域看起来更赏心悦目了。和以前相相比,发现是去掉了左手显示行号的边栏颜色和编制区域统一了,所以看起来更整齐了。

按着Command ⌘
键,随便点一个办法,和前边不同的是,不会直接跳转到方法的注脚,而是会冒出上边的菜谱:

倘使想像在此之前一样一贯跳转到函数表明,则需要同时按着Control ⌃Command ⌘键再点击方法可以跳转到方法的表明。

平等,可以试着看看点击变量有什么变动(PS:Xcode 9的代码指示 real、real
快了很多):

恩,比地点的多了一个Rename,当点击重命名的时候,会有一个很炫的折叠动画:

rename

点击某一个格局吧?

把从前的Extract FunctionExtract Method直白放在了这些菜单。这样我们就足以更加便于的把一些实现独立提取封装成方法了:

extractedMethod

Xcode插件

cocoapods-xcode-pluginhttps:
用于在Xcode中管理CocoaPods依赖库

cocoapods

XAlign:方便实现代码对其效果,使代码风格统一

plugin_align

XcodeBoost:一个声援代码编辑插件。辅助高亮当选、批量中选方法和艺术名、按照选中的主意批量生成方法阐明、高亮正则搜索等功效

Injection for
Xcode
:一个神奇的Xcode
插件,能让动用在运转的时候做出的小的更改及时呈现效率,而不需要重新编译…

Alcatraz:以图形化界面管理Xcode插件的插件

plugin_alcatraz.png

KSImageNamed:当输入NSImage imageNamed:
或者[UIImage imageNamed:时,会自行补全工程中可用的图形名称,同时能提供选中图片的预览

plugin_image_named

XToDo:能以图形界面列表的情势列出代码中添加了TODO,FIXME,???,!!!!标识的档次,方便解决软件中备注的未缓解问题。其它,能招来的还不只上述四种标识,用户可以友善添加想援助的标识。

xtodo

VVDocumenter-Xcode:提供了为代码扩大注视的最急速情势,是自己动用频率最高的插件,猫神出品。

Simulator

让大家开拓模拟器看一看。

Wow!仿佛又回到了Xcode 5事先,而且越加细致了。

方圆的按键和 home键都可以点击的。

其它还发现了部分其余功用:

  • 可以和此外版本的Xcode的模拟器共存。
  • 而外可以运用Command ⌘ + 1Command ⌘ + 2Command ⌘ + 3来缩放模拟器外,Xcode 9还协助把鼠标移动到六个角的人身自由一个角来自由缩放.
  • 可以同时拉开四个例外的模拟器。

前言

WWDC未来, 苹果发表了一多级的Beta
版固件及工具,我们单表其一,看看Xcode 9中的新效能。假如您也想感受Xcode 9,那么您的
Mac 系统的本子至少是macOS 10.12.4.

More

地方介绍的都是很容易就发现的片段新特征。要完全明白Xcode 9,这就不得不去看官方的
Release
Notes

这就是说,接下去就按照 Release
Notes

的次第一个个来介绍。

  1. 首先,值得注意的是iOS 11不再协理 32
    位应用,倘若我们在类型的target -> General ->
    Deployment Target
    中设置系统为iOS 11,则一直编译都不可以由此。倘使设置为iOS 11在此之前的,编译仍可以够的(敲黑板、划重点了)。

  2. 现在 Group
    Folder事关了一头。也就是说在此之前虚拟的工程文件夹现在会自动创制实体的公文夹,而无需大家去手动导入了(好评)。而且大家在拖动文件的时候,会自动更新文件和文件目录,其他的有的操作,比如创制、重命名、删除组都将会相应的变动文件系统中的关联目录。

    即便急需撤消GroupFolder的关联,可以在File Inspector
    中点击X就行:

    同一的,大家也可以在这边提到某一个GroupFolder

  3. 自行匹配分隔符。当大家选中文字的时候,输入任意一个opening delimiterXcode都会
    自动匹配closing delimiter。自动匹配的相间符包括:" ", ( ),
    [ ],
    { }.个人备感不太实用,因为我们得以平素在末端添加closing delimiter,就足以活动补全opening delimiter

auto_matched

  1. 使用command ⌘ + -缩短文字,使用command ⌘ +
    +推广文字(终于补助了)。

  2. 偏好设置 -> Font & Color 中加进了光标的体制。

  3. Asset Catelog现今补助了.avci, .heic, .heif格式的公文。

  4. 增加主线程检测器(Main Thread Checker)。咱们都知晓,我们在支付中都要在主线程访问UIKit/AppKit。这平日会油但是生部分不三不四的题材:比如图片加载需要一段时间,又比如严重的一直Crash。假诺想明白更多可以参考线程安全类的统筹这篇著作。文中也关乎了一个检测是否是在主线程操作
    UI 的越轨工具。现在,终于有了官方工具

    大家现撸个测试用例:

    dispatch_queue_t queue = dispatch_queue_create("com.newFunction", NULL);
    dispatch_async(queue, ^{
        UIView *view = [UIView new];
        [self.view addSubview:view];
    });
    

    运行后,如果是Xcode 9事先版本的话,我们可能会在控制台得到上边的
    Log:

    This application is modifying the autolayout engine from a
    background thread after the engine was accessed from the main
    thread. This can lead to engine corruption and weird crashes.

    而现行,大家取得 Log 音讯更详尽了:

    [reports] Main Thread Checker: UI API called on a background
    thread: -[UIView init]
    PID: 59536, TID: 1305198, Thread name: (com.newFunction), Queue
    name: com.newFunction, QoS: 0

    除了警告原因,进程音信、线程音信都给了大家。更赞的是,在issue navigatorruntime
    标签中就会来得出Warning:

    而点击后平素定位到问题代码:

而在`ToolBar` 上的 `activity` 面板也会有相关的信息。  

*从左至右依次是:编译时 Warning、编译时 Error、运行时 Warning.*
  1. Undefined Behavior Sanitizer:一个新的运行时工具,可以检查整数溢出(integer overflows)无效转换(invalid casts)等。大家得以在Scheme
    里面管理这多少个效用:

    Undefined Behavior SanitizerAddress SanitizerThread
    Sanitizer
    效用暂时不太明了,有精晓的提供下,谢谢。

  2. 近日能够使用通过无线形式来调试程序了,而非必须利用数据线。

    第一,想要无线调试,硬件系统必须达标要求:Xcode 9 or later、所以您的
    Mac 系统必须是macOS 10.12.4 or later, iOS 11.0 or later,一加和 Mac 处于同一 WiFi 下。

    接下来,先利用数据线连接你的 Mac,打开Xcode 9中的Window ->
    Devices & Simulators菜单,如下:

    勾选Connect via network,之后左边的装置名字背后会产出一个网络的图标。这多少个时候就足以拔掉数据线了。

    再次回到 Xcode,会发现手机仍然得以使用。并不会唤醒设备断开连接之类的:

  1. 代码管理的深浅集成。现在,在Navigator bar 上多了一个 Tab:
    Source Control。无论你用的是SVN
    还是Git,现在都足以很方便的查看管理你的代码仓库:

    Branches、Tags、Remotes一览无余。大家得以在此地
    push、pull、merge、新建分支、切换分支、新增
    Tag、查看提交历史记录、双击某一条
    commit,相比较代码,添加忽略文件等等几乎拥有普通使用的一对基础意义。

    Xcode 9GitHub
    深度集成,提供了席卷配置 SSH key一键克隆等功能。

  2. 新的编译系统。新的编译器已经用Swift
    重写了,性能拿到了很大的提高。其中,内部搜索效果官方称为提速50x.

    新的编译系统默认是关门的,假诺大家想要体验的话,需要在File ->
    Project Setting中选择。

  3. 优化 马克down。现在 Xcode 补助了 markdown
    的高亮语法以及序列标题的字体大小。

在编写区域的很快跳转中,也能链接到更多的Header。

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注