<track id="vvvvv"><del id="vvvvv"></del></track><p id="vvvvv"></p><pre id="vvvvv"></pre>
<pre id="vvvvv"></pre>
<pre id="vvvvv"><strike id="vvvvv"><ol id="vvvvv"></ol></strike></pre>
        <ruby id="vvvvv"></ruby>
          <p id="vvvvv"><ruby id="vvvvv"></ruby></p>
              <noframes id="vvvvv"><pre id="vvvvv"></pre>
              <p id="vvvvv"><pre id="vvvvv"></pre></p>
              <pre id="vvvvv"></pre><track id="vvvvv"><strike id="vvvvv"><ol id="vvvvv"></ol></strike></track>

                <p id="vvvvv"></p>
                  <pre id="vvvvv"></pre>

                  <pre id="vvvvv"><del id="vvvvv"></del></pre>
                  <pre id="vvvvv"><pre id="vvvvv"><b id="vvvvv"></b></pre></pre>
                      <pre id="vvvvv"><pre id="vvvvv"><mark id="vvvvv"></mark></pre></pre>
                      <noframes id="vvvvv"><ruby id="vvvvv"></ruby>

                      <pre id="vvvvv"></pre><pre id="vvvvv"></pre>

                      <pre id="vvvvv"></pre>
                      <noframes id="vvvvv">
                      <pre id="vvvvv"><ruby id="vvvvv"></ruby></pre>

                        <pre id="vvvvv"><ruby id="vvvvv"></ruby></pre>
                          <pre id="vvvvv"></pre>

                            <pre id="vvvvv"><strike id="vvvvv"></strike></pre>
                            <p id="vvvvv"></p>
                            <pre id="vvvvv"></pre>

                            <pre id="vvvvv"><ruby id="vvvvv"></ruby></pre>
                            <pre id="vvvvv"><b id="vvvvv"><b id="vvvvv"></b></b></pre><pre id="vvvvv"><strike id="vvvvv"><var id="vvvvv"></var></strike></pre>

                            <p id="vvvvv"></p>
                            <pre id="vvvvv"><ruby id="vvvvv"></ruby></pre>

                                    <noframes id="vvvvv"><pre id="vvvvv"></pre>
                                    <pre id="vvvvv"><ruby id="vvvvv"></ruby></pre>

                                    <pre id="vvvvv"></pre>

                                      <pre id="vvvvv"><strike id="vvvvv"><b id="vvvvv"></b></strike></pre><pre id="vvvvv"><ruby id="vvvvv"><b id="vvvvv"></b></ruby></pre>

                                      <pre id="vvvvv"></pre><track id="vvvvv"><ruby id="vvvvv"><ol id="vvvvv"></ol></ruby></track>
                                      <pre id="vvvvv"><ruby id="vvvvv"><b id="vvvvv"></b></ruby></pre>

                                        <p id="vvvvv"></p>

                                            <p id="vvvvv"></p>

                                            <noframes id="vvvvv"><ruby id="vvvvv"><ruby id="vvvvv"></ruby></ruby>
                                                <track id="vvvvv"><strike id="vvvvv"></strike></track>

                                                <pre id="vvvvv"><ruby id="vvvvv"><b id="vvvvv"></b></ruby></pre>

                                                  <pre id="vvvvv"></pre>
                                                    <track id="vvvvv"><ruby id="vvvvv"><b id="vvvvv"></b></ruby></track>

                                                      <pre id="vvvvv"></pre>
                                                      <p id="vvvvv"></p>

                                                      那些好用的ios开发工具
                                                      • 发表于2020-01-03 15:31
                                                      • |
                                                      • 789次阅读
                                                      • |
                                                      • 来源 豪创

                                                      前言:

                                                      从苹果发明iPhone起,AppStore上的一个又一个类似flappy bird的一夜暴富的故事刺激着大量开发者加入移动开发大军。随着这些开发者出现的,还有大量方便iOS开发者的各种工具。这些工具作为整个应用开发生态链的重要一环,极大地方便了广大应用开发者,节省了应用开发的时间。

                                                      图形应用工具

                                                      charles

                                                      \

                                                      Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

                                                      界面调试

                                                      PonyDebugger、Reveal、Spark Inspector是三个常用的界面调试工具,可以在程序运行时动态调试iOS应用界面。PonyDebugger是免费并且开源的,后两者是收费的,不过功能更加强大。

                                                      对于动态或复杂的交互界面,手写UI的是不可避免的,而Reveal一类的工具可以方便我们查看控件的相应属性是否正常,并且可以在程序运行时,动态地修改界面元素。这样就不用反复地修改代码并且重启程序了。

                                                      xScpoe

                                                      xScope是一类与界面开发相关的工具集。对于iOS开发,比较好用的功能包括它的放大镜取色工具、标尺工具等。其中放大镜取色工具可以将取到的多个色集收集起来,方便后续使用,并且支持直接粘贴成相关的程序颜色代码。


                                                      ImageOptim

                                                      ImageOptim是一个图象压缩的免费工具。iOS工程默认使用的是 pngcrush 命令来压缩图片,不过其压缩比率其实不高。对于应用中图片资源比较多的读者,可以尝试使用 ImageOptim 来达到最大的图片压缩效果。

                                                      如果你从未尝试过ImageOptim一类的图片压缩工具,那么第一次给IPA文件瘦身的效果应该是比较惊人的。我个人的经验是,初次使用时ImageOptim能减少至少10%的应用图片资源占用。

                                                      ImageOptim的实现原理是使用各种开源的图像压缩工具,然后取效果最好的那一个。它尝试的工具包括:PNGOUT, Zopfli, Pngcrush, AdvPNG, extended OptiPNG, JpegOptim, jpegrescan, jpegtran 和 Gifsicle。

                                                      马克鳗


                                                      马克鳗是国人开发的一款免费标注工具,可以方便地在美术输出的设计稿上标注相应界面元素的大小,颜色,边距,说明等。

                                                      命令行工具

                                                      Cocoapods

                                                      每种语言发展到一个阶段,就会出现相应的依赖管理工具或者是中央代码仓库。比如Java的maven,Nodejs的npm等。而CocoaPods是为iOS程序提供依赖管理的工具??OS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

                                                      使用CocoaPods还需要注意以下几点:
                                                      1、需要使用CocoaPods生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
                                                      2、每次更改了Podfile文件,你需要重新执行一次pod update命令。br /> 3、当你执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你应该把这个文件加入到版本管理中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行不会更改版本,要才会改了。这样的好处是:当多人协作的时候,可以保证所有人的第三库环境是完全一样的。

                                                      nomad

                                                      nomad是一个方便你操作苹果开发者中心(Apple Developer Center)的命令行工具,可以做的事情包括方便地添加测试设备,更新证书文件,增加App id,验证IAP的凭证等。

                                                      安装方式:

                                                      	1
                                                      	gem install nomad-cli

                                                      安装完后,首先执行ios login,你的Developer账号密码会被它存储到Keychain中,之后就可以用命令行来完成各种后台操作了,例如:

                                                      添加测试设备:

                                                      	1
                                                      	ios devices:add "TangQiaos iPhone"=

                                                      更新证书文件:

                                                      	1
                                                      	ios profiles:devices:add TangQiao_Profile "TangQiaos iPhone"=

                                                      nomad还有很多功能,建议大家阅读其官方网站的文档进一步学习。
                                                       

                                                      xctool

                                                      xctool是facebook开源的一个iOS编译和测试的工具。使用它而不是用Xcode的UI界面是因为它是一个纯命令行工具。比如:我们可以使用xctool在命令生下进行编译和单元测试,然后将测试结果集成到Jenkins中,这样就实现了自动化的持续集成。虽然苹果也在OSX Server上推出了自己的自动化集成工具BOT,但其配置和使用上现在仍然不太方便。

                                                      安装xctool可以使用brew命令:

                                                      	1
                                                      	brew install xctool

                                                      使用xctool编译项目可以使用如下命令:

                                                      	1234
                                                      	path/to/xctool.sh \  -project YourProject.xcodeproj \  -scheme YourScheme \  build

                                                      使用xctool执行单元测试,可以使用如下命令:

                                                      	1234
                                                      	path/to/xctool.sh \  -workspace YourWorkspace.xcworkspace \  -scheme YourScheme \  test

                                                      xctool还有很多功能,建议大家阅读xctool官方网站的文档进一步了解更多的功能。

                                                      appledoc

                                                      appledoc是一个从源码中抽取文档的工具。

                                                      对于开发者来说,文档最好和源码在一起,这样更新起来更加方便和顺手。象Java一类的语言本身就自带javadoc命令,可以从源码中抽取文档。而appledoc就是一个类似javadoc的命令行程序,可以从iOS工程的源代码中抽取相应的注释,生成帮助文档。

                                                      相对于其它的文档生成工具,appledoc的优点是:
                                                      它默认生成的文档风格和苹果的官方文档是一致的。
                                                      appledoc就是用objective-c写的,必要的时候调试和改动也比较方便。
                                                      它可以生成docset,并且集成到xcode中。集成之后,在相应的API调用处,按住option再单击就可以调出相关的帮助文档。
                                                      它没有特殊的注释要求,兼容性高。

                                                      安装appledoc可以直接使用brew命令:

                                                      	1
                                                      	brew install appledoc

                                                      使用时切换到iOS工程目录下,执行以下操作即可,appledoc会扫描当前路径下的所有文件,然后生成好文档放到doc目录下。你也可以用appledoc —help查看所有可用的参数。

                                                      	123
                                                      	appledoc -o\--project-name\--project-company.

                                                      Xcode插件

                                                      Xcode是iOS的集成开发环境,虽然苹果一直在不断改进Xcode,但程序员总是有各种新奇的想法和需求,当Xcode无法满足他们时,于是他们就会通过插件的方式来为Xcode增加新的功能。本节将会给大家介绍一些常用的Xcode增强插件。

                                                      Xcode所有的插件都安装在目录~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/下,每个插件为一个子目录,你也可以手工切换到这个目录来增加或删除插件。

                                                      Alcatraz

                                                       \ 
                                                       

                                                      Alcatraz是管理Xcode所有插件的插件,它可以直接集成到Xcode的图形界面中,让你感觉就像在使用Xcode自带的功能一样。Alcatraz不但可以管理Xcode的插件,它另外还提供了管理Xcode工程模版以及颜色配置的功能。

                                                      使用如下的命令行来安装Alcatraz:

                                                      	12345
                                                      	mkdir -p ~/Library/Application\ Support/\Developer/Shared/Xcode/Plug-ins;curl -L http://git.io/lOQWeA |\ tar xvz -C ~/Library/Application\ Support/\ Developer/Shared/Xcode/Plug-ins

                                                      安装成功后重启Xcode,就可以在Xcode的顶部菜单中的”Window”–>“Package Manager”中找到Alcatraz。点击“Package Manager”,即可启动插件列表页面。你可以在右上角搜索插件,对于想安装的插件,点击其左边的图标,即可下载安装。

                                                      KSImageNamed

                                                      KSImageNamed是一个帮助你输入[UIImage imageNamed:]中的资源名的插件。当你输入[UIImage imageNamed:]时,会自动的弹出上下文菜单,供你选择你需要输入的图片资源名字,另外在选择图片资源时,还可以在左侧预览该资源。如下图所示:

                                                        

                                                      XVim

                                                       

                                                      XVim是一个Xcode的vim插件,可以在Xcode的编辑窗口中开启vim模式。

                                                      vim模式最大的好处是可以全键盘操作,可以方便地移动光标以及复制、粘贴代码。XVim对于Xcode的分栏模式也有很好的支持,与vim自带的分栏模式一样,可以用快捷键ctrl + w来切换当前编辑的分栏。

                                                      FuzzyAutocompletePlugin

                                                      FuzzyAutocompletePlugin 允许使用模糊的方式来进行代码自动补全。

                                                      举个例子,如果我们要重载 viewDidAppear:方法,那么我们必须依次建入view、did、appear 才能得到相应的补全信息,使用FuzzyAutocompletePlugin之后,我们可以建入vda (view、did、appear 三个单词的首字母),或任意符合viewDidAppear整个单词出现顺序的子串(例如 vdapp, adear等),即可匹配到该方法。

                                                       \ 

                                                      XToDo

                                                      XToDo是一个查找项目中所有的带有 TODOFIXME???!!! 标记的注释。

                                                      通常我们在项目开发中,由于种种原因,一些事情需要以后处理,这个时候为了防止遗忘,加上TODOFIXME注释是非常有必要的,但是上线或提交代码前要寻找这些未解决的事项却稍显麻烦。XToDo可以提供一个汇总的界面,集中显示所有的未完成的TODOFIXME标记。

                                                      BBUDebuggerTuckAway

                                                      BBUDebuggerTuckAway是一个非常小的工具,可以在你编辑代码的时候自动隐藏底部的调试窗口。因为通常情况下,调试的时候是加断点或监控变量变化,或者在Console窗口用po来输出一些调试信息。如果开始编辑代码了,说明已经调试结束了,这个时候隐藏调试窗口,可以给编辑界面更多空间,方便我们修改代码。

                                                      SCXcodeSwithExpander

                                                      SCXcodeSwitchExpander帮助你迅速地在switch语句中填充枚举类型的每种可能的取值。

                                                      例如,当你输入switch,然后键入一个NSTableViewAnimationOptions类时,该插件会将其可能的取值补全在每一个case之后,如下图所示:

                                                        
                                                      deriveddata-exterminator

                                                      deriveddata-exterminator是一个清

                                                      本篇文章部分内容及图片均来源于网络,如侵犯到您的权益,请及时通知我们。

                                                      789
                                                      热门教程
                                                      青苹果影院4480福利版iOS最新下载-青苹果影院首播影院高清