|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
父类是NSObjectUIKit里最底层的库可以响应一些触摸事件设置焦点等功能UIView父类是UIResponder所有View的父类方法太多了大部分很有用这个不赘述了媒介
从苹果创造iPhone起,AppStore上的一个又一个相似flappybird的一夜暴富的故事安慰着大批开辟者到场挪动开辟雄师。跟着这些开辟者呈现的,另有大批便利iOS开辟者的各类工具。这些工具作为全部使用开辟生态链的主要一环,极年夜中央便了宽大使用开辟者,节俭了使用开辟的工夫。
本文将从使用工具、命令行工具、插件工具3个方面,先容这些优异的使用。
图形使用工具
Charles
<br>
Charles(http://www.charlesproxy.com)是在Mac下经常使用的截取收集封包的工具,在做iOS开辟时,我们为了调试与服务器真个收集通信协定,经常必要截取收集封包来剖析。Charles经由过程将本人设置成体系的收集会见代办署理服务器,使得一切的收集会见哀求都经由过程它来完成,从而完成了收集封包的截取和剖析。
Charles具体的利用申明,接待浏览我的文章:《iOS开辟工具-收集封包剖析工具Charles》
界面调试
PonyDebugger(https://github.com/square/PonyDebugger)、Reveal(http://revealapp.com/)、SparkInspector(http://sparkinspector.com/)是三个经常使用的界面调试工具,能够在程序运转时静态调试iOS使用界面。PonyDebugger是收费而且开源的,后二者是免费的,不外功效加倍壮大。
关于静态或庞大的交互界面,手写UI的是不成制止的,而Reveal一类的工具能够便利我们检察控件的响应属性是不是一般,而且能够在程序运转时,静态地修正界面元素。如许就不必重复地修正代码而且重出发序了。
xScope
xScope(http://xscopeapp.com/)是一类与界面开辟相干的工具集。关于iOS开辟,对照好用的功效包含它的缩小镜取色工具、标尺工具等。个中缩小镜取色工具能够将取到的多个色集搜集起来,便利后续利用,而且撑持间接粘贴成相干的程序色彩代码。
xScope是免费软件,关于未付费版本,其功效有一些限定。
ImageOptim
ImageOptim(《》)是一个图像紧缩的收费工具。iOS工程默许利用的是pngcrush命令来紧缩图片,不外其紧缩比率实在不高。关于使用中图片资本对照多的读者,能够实验利用ImageOptim来到达最年夜的图片紧缩效果。
假如你从何尝试过ImageOptim一类的图片紧缩工具,那末第一次给IPA文件瘦身的效果应当是对照惊人的。我团体的履历是,初度利用时ImageOptim能削减最少10%的使用图片资本占用。
ImageOptim的完成道理是利用各类开源的图象紧缩工具,然后取效果最好的那一个。它实验的工具包含:PNGOUT,Zopfli,Pngcrush,AdvPNG,extendedOptiPNG,JpegOptim,jpegrescan,jpegtran和Gifsicle。
安装体例是从其官方网站(《》)高低载程叙文件,拖动到“使用程序”目次便可。下图是本篇文章一切的配图,能够看到利用ImageOptim到达了29.5%的体积减少。
<br>
马克鳗
马克鳗(http://www.getmarkman.com/)是国人开辟的一款收费标注工具,能够便利地在美术输入的计划稿上标注响应界面元素的巨细,色彩,边距,申明等。
命令行工具
CocoaPods
<br>
每种言语开展到一个阶段,就会呈现响应的依附办理工具大概是中心代码堆栈。好比Java的maven,Nodejs的npm等。而CocoaPods(http://cocoapods.org/)是为iOS程序供应依附办理的工具。开辟iOS项目不成制止地要利用第三方开源库,CocoaPods的呈现使得我们能够节俭设置和更新第三方开源库的工夫。
在我开辟猿题库客户端时,其利用了24个第三方开源库。在没有利用CocoaPods之前,我必要:
- 把这些第三方开源库的源代码文件复制到项目中,大概设置成git的submodule。
- 关于这些开源库一般必要依附体系的一些framework,我必要手工地将这些framework逐一增添到项目依附中,好比一般情形下,一个收集库就必要增添以下framework:CFNetwork,SystemConfiguration,MobileCoreServices,CoreGraphics,zlib。
- 关于某些开源库,我还必要设置-licucore大概-fno-objc-arc等编译参数
- 办理这些依附包的更新。
这些膂力活固然复杂,但毫无手艺含量而且华侈工夫。在利用CocoaPods以后,我只必要将用到的第三方开源库放到一个名为Podfile的文件中,然后实行podinstall。CocoaPods就会主动将这些第三方开源库的源码下载上去,而且为我的工程设置好响应的体系依附和编译参数。
利用CocoaPods还必要注重以下几点:
- 必要利用CocoaPods天生的.xcworkspace文件来翻开工程,而不是之前的.xcodeproj文件。
- 每次变动了Podfile文件,你必要从头实行一次podupdate命令。
- 当你实行podinstall以后,除Podfile外,CocoaPods还会天生一个名为Podfile.lock的文件,你应当把这个文件到场到版本办理中。由于Podfile.lock会锁定以后各依附库的版本,以后假如屡次实行podinstall不会变动版本,要podupdate才会改Podfile.lock了。如许的优点是:当多人合作的时分,能够包管一切人的第三库情况是完整一样的。
具体的利用申明,接待浏览我的文章:《用CocoaPods做iOS程序的依附办理》
nomad
nomad(http://nomad-cli.com/)是一个便利你操纵苹果开辟者中央(AppleDeveloperCenter)的命令行工具,能够做的事变包含便利地增加测试设备,更新证书文件,增添Appid,考证IAP的凭据等。
安装体例:安装完后,起首实行ioslogin,你的Developer账号暗码会被它存储到Keychain中,以后就能够用命令行来完成各类背景操纵了,比方:
增加测试设备:- iosdevices:add"TangQiaosiPhone"=<DeviceIdentifier>
复制代码 更新证书文件:- iosprofiles:devices:addTangQiao_Profile"TangQiaosiPhone"=<DeviceIdentifier>
复制代码 nomad另有良多功效,倡议人人浏览其官方网站的文档进一步进修。
xctool
xctool(https://github.com/facebook/xctool)是facebook开源的一个iOS编译和测试的工具。利用它而不是用Xcode的UI界面是由于它是一个纯命令行工具。好比:我们可使用xctool在命令生下举行编译和单位测试,然后将测试了局集成到Jenkins中,如许就完成了主动化的延续集成。固然苹果也在OSXServer上推出了本人的主动化集成工具BOT,但其设置和利用上如今仍旧不太便利。
安装xctool可使用brew命令:利用xctool编译项目可使用以下命令:- path/to/xctool.sh-projectYourProject.xcodeproj-schemeYourSchemebuild
复制代码 利用xctool实行单位测试,可使用以下命令:xctool另有良多功效,倡议人人浏览xctool官方网站的文档进一步懂得更多的功效。
appledoc
appledoc(https://github.com/tomaz/appledoc)是一个从源码中抽取文档的工具。
关于开辟者来讲,文档最好和源码在一同,如许更新起来加倍便利温柔手。象Java一类的言语自己就自带javadoc命令,能够从源码中抽取文档。而appledoc就是一个相似javadoc的命令路程序,能够从iOS工程的源代码中抽取响应的正文,天生匡助文档。
相对别的的文档天生工具,appledoc的长处是:
- 它默许天生的文档作风和苹果的官方文档是分歧的。
- appledoc就是用objective-c写的,需要的时分调试和修改也对照便利。
- 它能够天生docset,而且集成到xcode中。集成以后,在响应的API挪用处,按住option再单击就能够修改相干的匡助文档。
- 它没有特别的正文请求,兼容性高。
安装appledoc能够间接利用brew命令:利用时切换到iOS工程目次下,实行以下操纵便可,appledoc会扫描以后路径下的一切文件,然后天生好文档放到doc目次下。你也能够用appledoc—help检察一切可用的参数。具体的利用先容,接待浏览我的文章:《利用Objective-C的文档天生工具:appledoc》
Xcode插件
Xcode是iOS的集成开辟情况,固然苹果一向在精益求精Xcode,但程序员老是有各类别致的设法和需求,当Xcode没法满意他们时,因而他们就会经由过程插件的体例来为Xcode增添新的功效。本节将会给人人先容一些经常使用的Xcode加强插件。
Xcode一切的插件都安装在目次~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins/下,每一个插件为一个子目次,你也能够手工切换到这个目次来增添或删除插件。
Alcatraz
<br>
Alcatraz(http://alcatraz.io/)是办理Xcode一切插件的插件,它能够间接集成到Xcode的图形界面中,让你感到就像在利用Xcode自带的功效一样。Alcatraz不仅能够办理Xcode的插件,它别的还供应了办理Xcode工程模版和色彩设置的功效。
利用以下的命令行来安装Alcatraz:安装乐成后重启Xcode,就能够在Xcode的顶部菜单中的”Window”–>“PackageManager”中找到Alcatraz。点击“PackageManager”,便可启动插件列表页面。你能够在右上角搜刮插件,关于想安装的插件,点击其右边的图标,便可下载安装,以下所示,我正在安装KImageNamed插件:
<br>
安装完成后,再次点击插件右边的图标,能够将该插件删除。
以下一切先容的插件都可用该办法来安装或删失落,就不另行先容了。
Alcatraz具体的利用先容,接待浏览我的文章:《利用Alcatraz来办理Xcode插件》
KSImageNamed
KSImageNamed(https://github.com/ksuther/KSImageNamed-Xcode)是一个匡助你输出[UIImageimageNamed:]中的资本名的插件。当你输出[UIImageimageNamed:]时,会主动的弹出高低文菜单,供你选择你必要输出的图片资本名字,别的在选择图片资本时,还能够在左边预览该资本。以下图所示:
<br>
XVim
XVim(https://github.com/JugglerShu/XVim)是一个Xcode的vim插件,能够在Xcode的编纂窗口中开启vim形式。
vim形式最年夜的优点是能够全键盘操纵,能够便利地挪动光标和复制、粘贴代码。XVim关于Xcode的分栏形式也有很好的撑持,与vim自带的分栏形式一样,能够用快速键ctrl+w来切换以后编纂的分栏。
FuzzyAutocompletePlugin
FuzzyAutocompletePlugin(https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin)同意利用含混的体例来举行代码主动补全。
举个例子,假如我们要重载viewDidAppear:办法,那末我们必需顺次建进view、did、appear才干失掉响应的补全信息,利用FuzzyAutocompletePlugin以后,我们能够建进vda(view、did、appear三个单词的首字母),或恣意切合viewDidAppear全部单词呈现按次的子串(比方vdapp,adear等),便可婚配到该办法。
XToDo
XToDo(https://github.com/trawor/XToDo)是一个查找项目中一切的带有TODO,FIXME,???,!!!标志的正文。
一般我们在项目开辟中,因为各种缘故原由,一些事变必要今后处置,这个时分为了避免忘记,加上TODO或FIXME正文长短常有需要的,可是上线或提交卸码前要寻觅这些未办理的事项却稍显贫苦。XToDo能够供应一个汇总的界面,会合显现一切的未完成的TODO和FIXME标志。
BBUDebuggerTuckAway
BBUDebuggerTuckAway(https://github.com/neonichu/BBUDebuggerTuckAway)是一个十分小的工具,能够在你编纂代码的时分主动埋没底部的调试窗口。由于一般情形下,调试的时分是加断点或监控变质变化,大概在Console窗口用po来输入一些调试信息。假如入手下手编纂代码了,申明已调试停止了,这个时分埋没调试窗口,能够给编纂界面更多空间,便利我们修正代码。
SCXcodeSwitchExpander
SCXcodeSwitchExpander(https://github.com/stefanceriu/SCXcodeSwitchExpander)匡助你敏捷地在switch语句中添补列举范例的每种大概的取值。
比方,当你输出switch,然后键进一个NSTableViewAnimationOptions类时,该插件会将其大概的取值补全在每个case以后,以下图所示:
<br>
deriveddata-exterminator
deriveddata-exterminator(https://github.com/kattrali/deriveddata-exterminator)是一个扫除Xcode缓存目次的插件。
有些时分Xcode会出各类奇异的成绩,最多见的是在某些庞大操纵下(比方统一个项目,往返切换到各类分支版本),会形成Xcode显现一些编译的毛病或告诫,可是终极却又能够编译经由过程。老手碰到这类成绩经常一筹莫展,而熟习Xcode的人就晓得,一般扫除Xcode缓存就能够办理这类成绩。该插件在Xcode菜单上增添了一个扫除缓存按钮,能够一键便利地分明缓存内容。
VVDocumenter
VVDocumenter(https://github.com/onevcat/VVDocumenter-Xcode)是一个主动天生代码正文的工具,能够便利地将函数的参数名和前往值提掏出来,如许分离上一节先容的appledoc命令,就能够便利地将匡助文档输入。
<br>
ClangFormat
ClangFormat(https://github.com/travisjeffery/ClangFormat-Xcode)是一个主动调剂代码作风(CodeStyle)的工具。Xcode自己的代码缩进主动调剂功效对照弱,出格是关于JSON格局,经常发生十分丑恶的默许缩进效果。ClangFormat-Xcode能够更好地对代码举行从头排版,而且内置了各类排版作风,也撑持自界说作风。
ColorSense
ColorSense(https://github.com/omz/ColorSense-for-Xcode)是一个UIColor色彩输出帮助工具,能够匡助你在编写UIColor代码时,及时预览响应的色彩,以下图所示:
<br>
XcodeBoost
XcodeBoost(https://github.com/fortinmike/XcodeBoost)包括多个帮助修正代码的小功效,好比:
除了在程序加载的时候把我的view加载到他上目前我还没用到过其他的苹果一直很推崇MVC的程序结构视图模型控制器简单说就是视图负责显示内容模型负责所有数据的保存结构或者一些其他数据操作控制器是用来协调视图和模型举车的发动机系统的例子 |
|