switf开源对于学ios开发用什么笔记本是好还是坏?刚刚买了苹果笔记本他就开源,好伤心。

那些好用的iOS开发工具 - 唐巧的技术博客
记录下自己学习的点滴
那些好用的iOS开发工具
Jun 29th, 2014
本文首发于《程序员》杂志2014年6月刊,未经允许,请勿转载。
从苹果发明iPhone起,AppStore上的一个又一个类似flappy bird的一夜暴富的故事刺激着大量开发者加入移动开发大军。随着这些开发者出现的,还有大量方便iOS开发者的各种工具。这些工具作为整个应用开发生态链的重要一环,极大地方便了广大应用开发者,节省了应用开发的时间。
本文将从应用工具、命令行工具、插件工具3个方面,介绍这些优秀的应用。
图形应用工具
Charles()是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles详细的使用说明,欢迎阅读我的文章:
PonyDebugger()、Reveal()、Spark Inspector()是三个常用的界面调试工具,可以在程序运行时动态调试iOS应用界面。PonyDebugger是免费并且开源的,后两者是收费的,不过功能更加强大。
对于动态或复杂的交互界面,手写UI的是不可避免的,而Reveal一类的工具可以方便我们查看控件的相应属性是否正常,并且可以在程序运行时,动态地修改界面元素。这样就不用反复地修改代码并且重启程序了。
xScope()是一类与界面开发相关的工具集。对于iOS开发,比较好用的功能包括它的放大镜取色工具、标尺工具等。其中放大镜取色工具可以将取到的多个色集收集起来,方便后续使用,并且支持直接粘贴成相关的程序颜色代码。
xScope是收费软件,对于未付费版本,其功能有一些限制。
ImageOptim
ImageOptim()是一个图象压缩的免费工具。iOS工程默认使用的是 pngcrush 命令来压缩图片,不过其压缩比率其实不高。对于应用中图片资源比较多的读者,可以尝试使用 ImageOptim 来达到最大的图片压缩效果。
如果你从未尝试过ImageOptim一类的图片压缩工具,那么第一次给IPA文件瘦身的效果应该是比较惊人的。我个人的经验是,初次使用时ImageOptim能减少至少10%的应用图片资源占用。
ImageOptim的实现原理是使用各种开源的图像压缩工具,然后取效果最好的那一个。它尝试的工具包括:PNGOUT, Zopfli, Pngcrush, AdvPNG, extended OptiPNG, JpegOptim, jpegrescan, jpegtran 和 Gifsicle。
安装方式是从其官方网站()上下载程序文件,拖动到“应用程序”目录即可。下图是本篇文章所有的配图,可以看到使用ImageOptim达到了29.5%的体积缩小。
马克鳗()是国人开发的一款免费标注工具,可以方便地在美术输出的设计稿上标注相应界面元素的大小,颜色,边距,说明等。
命令行工具
每种语言发展到一个阶段,就会出现相应的依赖管理工具或者是中央代码仓库。比如Java的maven,Nodejs的npm等。而CocoaPods()是为iOS程序提供依赖管理的工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
在我开发猿题库客户端时,其使用了24个第三方开源库。在没有使用CocoaPods以前,我需要:
把这些第三方开源库的源代码文件复制到项目中,或者设置成git的submodule。
对于这些开源库通常需要依赖系统的一些framework,我需要手工地将这些framework一一增加到项目依赖中,比如通常情况下,一个网络库就需要增加以下framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics, zlib。
对于某些开源库,我还需要设置-licucore或者 -fno-objc-arc等编译参数
管理这些依赖包的更新。
这些体力活虽然简单,但毫无技术含量并且浪费时间。在使用CocoaPods之后,我只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行pod install。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。
使用CocoaPods还需要注意以下几点:
需要使用CocoaPods生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
每次更改了Podfile文件,你需要重新执行一次pod update命令。
当你执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你应该把这个文件加入到版本管理中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样的好处是:当多人协作的时候,可以保证所有人的第三库环境是完全一样的。
详细的使用说明,欢迎阅读我的文章:
nomad()是一个方便你操作苹果开发者中心(Apple Developer Center)的命令行工具,可以做的事情包括方便地添加测试设备,更新证书文件,增加App id,验证IAP的凭证等。
安装方式:
gem install nomad-cli
安装完后,首先执行ios login,你的Developer账号密码会被它存储到Keychain中,之后就可以用命令行来完成各种后台操作了,例如:
添加测试设备:
ios devices:add "TangQiaos iPhone"=&Device Identifier&
更新证书文件:
ios profiles:devices:add TangQiao_Profile "TangQiaos iPhone"=&Device Identifier&
nomad还有很多功能,建议大家阅读其官方网站的文档进一步学习。
xctool()是facebook开源的一个iOS编译和测试的工具。使用它而不是用Xcode的UI界面是因为它是一个纯命令行工具。比如:我们可以使用xctool在命令生下进行编译和单元测试,然后将测试结果集成到Jenkins中,这样就实现了自动化的持续集成。虽然苹果也在OSX Server上推出了自己的自动化集成工具BOT,但其配置和使用上现在仍然不太方便。
安装xctool可以使用brew命令:
brew install xctool
使用xctool编译项目可以使用如下命令:
path/to/xctool.sh \
-project YourProject.xcodeproj \
-scheme YourScheme \
使用xctool执行单元测试,可以使用如下命令:
path/to/xctool.sh \
-workspace YourWorkspace.xcworkspace \
-scheme YourScheme \
xctool还有很多功能,建议大家阅读xctool官方网站的文档进一步了解更多的功能。
appledoc()是一个从源码中抽取文档的工具。
对于开发者来说,文档最好和源码在一起,这样更新起来更加方便和顺手。象Java一类的语言本身就自带javadoc命令,可以从源码中抽取文档。而appledoc就是一个类似javadoc的命令行程序,可以从iOS工程的源代码中抽取相应的注释,生成帮助文档。
相对于其它的文档生成工具,appledoc的优点是:
它默认生成的文档风格和苹果的官方文档是一致的。
appledoc就是用objective-c写的,必要的时候调试和改动也比较方便。
它可以生成docset,并且集成到xcode中。集成之后,在相应的API调用处,按住option再单击就可以调出相关的帮助文档。
它没有特殊的注释要求,兼容性高。
安装appledoc可以直接使用brew命令:
brew install appledoc
使用时切换到iOS工程目录下,执行以下操作即可,appledoc会扫描当前路径下的所有文件,然后生成好文档放到doc目录下。你也可以用appledoc —help查看所有可用的参数。
appledoc -o &output_path& \
--project-name &project_name& \
--project-company &project_company& .
详细的使用介绍,欢迎阅读我的文章:
Xcode是iOS的集成开发环境,虽然苹果一直在不断改进Xcode,但程序员总是有各种新奇的想法和需求,当Xcode无法满足他们时,于是他们就会通过插件的方式来为Xcode增加新的功能。本节将会给大家介绍一些常用的Xcode增强插件。
Xcode所有的插件都安装在目录~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/下,每个插件为一个子目录,你也可以手工切换到这个目录来增加或删除插件。
Alcatraz()是管理Xcode所有插件的插件,它可以直接集成到Xcode的图形界面中,让你感觉就像在使用Xcode自带的功能一样。Alcatraz不但可以管理Xcode的插件,它另外还提供了管理Xcode工程模版以及颜色配置的功能。
使用如下的命令行来安装Alcatraz:
mkdir -p ~/Library/Application\ Support/\
Developer/Shared/Xcode/Plug-
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”,即可启动插件列表页面。你可以在右上角搜索插件,对于想安装的插件,点击其左边的图标,即可下载安装,如下所示,我正在安装KImageNamed插件:
安装完成后,再次点击插件左边的图标,可以将该插件删除。
以下所有介绍的插件均可用该方法来安装或删掉,就不另行介绍了。
Alcatraz详细的使用介绍,欢迎阅读我的文章:
KSImageNamed
KSImageNamed()是一个帮助你输入[UIImage imageNamed:]中的资源名的插件。当你输入[UIImage imageNamed:]时,会自动的弹出上下文菜单,供你选择你需要输入的图片资源名字,另外在选择图片资源时,还可以在左侧预览该资源。如下图所示:
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()是一个查找项目中所有的带有 TODO, FIXME, ???, !!! 标记的注释。
通常我们在项目开发中,由于种种原因,一些事情需要以后处理,这个时候为了防止遗忘,加上TODO或FIXME注释是非常有必要的,但是上线或提交代码前要寻找这些未解决的事项却稍显麻烦。XToDo可以提供一个汇总的界面,集中显示所有的未完成的TODO和FIXME标记。
BBUDebuggerTuckAway
BBUDebuggerTuckAway()是一个非常小的工具,可以在你编辑代码的时候自动隐藏底部的调试窗口。因为通常情况下,调试的时候是加断点或监控变量变化,或者在Console窗口用po来输出一些调试信息。如果开始编辑代码了,说明已经调试结束了,这个时候隐藏调试窗口,可以给编辑界面更多空间,方便我们修改代码。
SCXcodeSwitchExpander
SCXcodeSwitchExpander()帮助你迅速地在switch语句中填充枚举类型的每种可能的取值。
例如,当你输入switch,然后键入一个NSTableViewAnimationOptions类时,该插件会将其可能的取值补全在每一个case之后,如下图所示:
deriveddata-exterminator
deriveddata-exterminator()是一个清除Xcode缓存目录的插件。
有些时候Xcode会出各种奇怪的问题,最常见的是在某些复杂操作下(例如同一个项目,来回切换到各种分支版本),会造成Xcode显示一些编译的错误或警告,但是最终却又可以编译通过。新手遇到这种问题常常束手无策,而熟悉Xcode的人就知道,通常清除Xcode缓存就可以解决这类问题。该插件在Xcode菜单上增加了一个清除缓存按钮,可以一键方便地清楚缓存内容。
VVDocumenter
VVDocumenter()是一个自动生成代码注释的工具,可以方便地将函数的参数名和返回值提取出来,这样结合上一节介绍的appledoc命令,就可以方便地将帮助文档输出。
ClangFormat
ClangFormat()是一个自动调整代码风格(Code Style)的工具。Xcode本身的代码缩进自动调整功能比较弱,特别是对于JSON格式,常常产生非常丑陋的默认缩进效果。ClangFormat-Xcode可以更好地对代码进行重新排版,并且内置了各种排版风格,也支持自定义风格。
ColorSense
ColorSense()是一个UIColor颜色输入辅助工具,可以帮助你在编写UIColor代码时,实时预览相应的颜色,如下图所示:
XcodeBoost
XcodeBoost()包含多个辅助修改代码的小功能,比如:
可以在.m文件中复制方法实现,然后将该方法的定义粘贴到对应的.h文件中
可以在某一个源文件中直接输入正则表达式查找
可以复制粘贴代码时不启用Xcode的自动缩进功能(Xcode的自动缩进经常出问题,造成已经调整好的代码缩进,因为粘贴时被Xcode调整坏了)
本文分图形应用工具,命令行工具,Xcode插件三个部分,介绍了iOS开发中好用的工具。其中涉及的图形工具部分是收费的,而命令行工具和Xcode插件工具全部是免费并且开源的工具,笔者在此也感谢广大的开源软件作者,是他们让整个软件生态圈更加美好。
Posted by 唐巧
Jun 29th, 2014
原创文章,版权声明:自由转载-非商用-非衍生-保持署名 |
& 2015 - 唐巧 -
为本站提供存储空间专栏:开源中国iOS客户端学习 - 博客频道 - CSDN.NET
针对开源中国iOS客户端源码进行学习,记录学习过程中点点滴滴。
最新更新文章
EGOImageLoading 是一个用的比较多的异步加载图片的第三方类库,简化开发过程,我们直接传入图片的url,这个类库就会自动帮我们异步加载和缓存工作;当从网上获取图片时,如果网速慢图片短时间内不能下载下来,可以先用一张本地的图片代替显示,还可以进行其他操作,让图片下载完成后自动替换占位图片而不影响用户体验;
EGOImageLoading 的GitHub 下载地址:  https...
在上一篇博客   开源中国iOS客户端学习——(十二)用户登陆 
中讲到用户登陆界面,loginView.xib布局中我们看到有一个UIWebView控件,但是它并没有加载一个网页,而是显示一些文本信息,其中有一些网址的链接,点击这个链接的时候条找转到该网站,或者点击某个文字标签同样的效果。
再来看看另外一个ViewController,在News/tab下有一个NewDet...
数据加密在解密在软件开发过程中举足轻重的作用,可能有的公司在加密的时候有自己公司内部一套设计的算法,而在这方面不想浪费太大精力就可以去考虑使用第三方提供的加密算法,如AES加密算法,本篇内容介绍开源中国iOS客户端使用ASE算法加密密码;
AES   GitHub 下载地址  /Gurpartap/AESCrypt-ObjC
对一个比较大的工...
上一篇博客  开源中国iOS客户端学习——(十一)AES加密 中提到将用户名和密码保存到了本地沙盒之中,在从本地读取用户名和密码,这是一个怎样的过程?
-(void)saveUserNameAndPwd:(NSString *)userName andPwd:(NSString *)pwd
NSUserDefaults * settings = [NSUserDefaults s...
开源中国社区团队基于开源项目 GitLab 开发了一款和GitHub一样的在线代码托管平台 Git @ OSC。并且开源客户端的源码在GitHub上不做更新,迁移到Git @OSC上了,欲了解更多请访问Git @ OSC官网http://git.oschina.net
客户端最新源码下载地址:http://git.oschina.net/oschina/iphone-app...
开源中国客户端中无论是综合里面文章,还是问答里问题还是动弹离得说说,每一条后面都会注释有时间,比如“10分钟之前”  “2小时前” “5天前” 或者直接是时间显示“”等,这些时间在很多应用里都是必须的,为的是给用户一个时间感,知道信息是最新的,也方便根据时间查阅以往信息;
    
这些时间从API解析下来的时间格式都为 yyyy-MM-dd HH:...
AFNetworking是一个轻量级的iOS网络通信类库,继ASI类库不在更新之后开发者们有一套不错选择;
AFNetworking类库源码下载和使用教程: /AFNetworking/AFNetworking
如果想深入研究有官方文档介绍:/AFNetworking/
在开源中国iO...
在开源中国iOS客户端中也用到了MBProgressHUD这个特效,主要作用为应用显示一个过渡的作用,常用于打开一个联网页面加载过程,防止出现假死现象,如果网速慢则告诉用户已经在很努力很努力的加载中。
GitHub上下载地址:/jdg/MBProgressHUD
源码中也自带了一个Demo,显示13中动画效果,可以根据需要选取其中特效加以使用,使用方法基本一...
开源中国iOS客户端基于网络同步数据,从而达到与网页看到同样数据效果,所以在启动程序的时候需要检查网络;这也是每一个联网应用启动的第一步,如果联网应用没有检查网络,苹果公司将不予以审核通过;
       开源中国iOS客户端大牛们在写网络检测时很迷惑人,开始以为他们用的是ASI类库做的网络检测,今天才看明白,他们并不是用的ASI类库检测,而是用到AFNetworking这个类库里一个实例方法做...
如今的应用大部分基予网络,在开源中国iOS客户端源码中关于网络通信方面用了三个类库,ASI和AFNetworking,还有一个苹果官方给出的Reachability用于检测当前网络状况,本文介绍当前用的比较多的ASI类库;
ASIHTTPRequest简称ASI,它是对CFNetwork
API进行封装,使在与web服务器通信时的繁琐步骤变得容易一些。它是使用Objective-C...
GCDiscreetNotificationView 类库作用是: 在不阻止用户与设备应用程序交互情况下,作为一个通知视图来显示一个当前的状态。
GCDiscreetNotificationView 类库下载地址 /gcamp/GCDiscreetNotificationView
在开源中国iOS客户端上,当无法获取网络时,
iOS里委托与协议是很重要的一块,如果理解不好很难区分协议与委托到底有什么不一样,这些东西在开发中是经常遇见的;
协议是类留给外部的一个接口函数的集合(一位高手用C++基类来解释是,把接口做为参数,回调基类的函数时,运行时识别,调用了相应子类的成员函数);
委托是iOS一种设计模式,通过委托别的类,来调用协议里的方法,相当于一个回调过程;
使用理解委托与协议步骤:
打开开源中国iOS客户端应用程序第一步就是加载数据,经常我们在第二次以后打开的时候,我们界面显示的是上一次更新的数据,此时我们想看最新内容就需要去刷新数据加载这些内容,加载需要一个等待过程,如何能让用户在等待过程中不焦急,能够等待这个过程完成,这就需要给用户一个心里安慰,让用户知道该软件正在很努力很努力的执行自己命令,这就需要我们为自己应用程序添加一些特效;
      开源中国iOS客...
当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以  -Prefix.pch结尾文件的文件,pch全称是“precompiled header”,也就是预编译头文件,该文件里存放的工程中一些不常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度。我们知道当我们修改一个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pc...
说到这款开源软件就得提到她的娘家了--开源中国社区:
开源中国社区简介:开源中国 www.oschina.net 成立于2008年8月,是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。开源中国社区在移动设备上做了客户端以后,将他们源代码做了开源分享,让我们初学者有机会看到大牛们是...
专栏创建者:
创建时间:
文章数:15篇
浏览量: 194675 次
:加密跟服务器java的不一样,跟网上在线的加密结果也不一样,iOS 不能用3天200个开源项目,Swift编程语言资料大合集
发表于 16:36|
作者开源大叔
摘要:在本周二凌晨召开的苹果年度开发者大会WWDC上,苹果公司推出了全新的编程语言Swift。这里是github上使用Swift语言的开源项目列表,目测已经有200多个了!
在本周二凌晨召开的苹果年度开发者大会WWDC上,苹果公司推出了全新的编程语言Swift。Swift&基于C和Objective-C,是供iOS和OS
X应用编程的全新语言,更加高效、现代、安全,可以提升应用性能,同时降低开发难度。
据称,Swift仍然处于beta测试的阶段,会在iOS 8发布的时一同推出市场,用来取代现有的Objective-C语言。Swift推出之后,苹果公司也不会停止对Objective-C的支持,开发工具会同时支持两种语言。
WWDC刚刚结束,在不到24小时的时间内,已经有开发者使用 Switf 编程语言完成了一款克隆 Flappy Bird 的小游戏,并。刚刚,2048游戏也来了:。目前,这个项目已经收获了3000多个称赞和800多个派生。
继Flappy Bird之后,越来越多的开源应用迅速的完成了向Swift语言的转换,
是Github上使用Swift语言的开源项目列表,目测已经有200多个了!下面是我们收集的一些Swift编程语言的相关资料:
苹果官方Swift文档《》网友整理的Swift中文文档《
》&极客学院《》课程国内第一个Swift社区:相关文章:
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章当前访客身份:游客 [
当前位置:
不到24小时!开发者用 Swift 语言复制 Flappy Bird
今年初,一款像素风格的超难小游戏 Flappy Bird 迅速流行起来,随后开发者认为 Flappy Bird 让人太沉迷,将游戏下架。Flappy Bird 下架后,App Store 中出现了大量山寨 Flappy Bird 的游戏。不久之前,Flappy Bird 开发者再次表示,游戏会重新回到 App Store,并且增加多人游戏功能。
在昨天的 WWDC 2014发布会上,苹果公布了全新的编程语言 Swift,现在距离发布还不到24个小时,已经有开发者使用 Switf 编程语言完成了一款克隆 Flappy Bird 的小游戏。感兴趣的朋友可以查看 Swift 源代码,想要学习 Swift 的朋友,可以下载介绍 Swift 的 iBooks 图书。
FlappySwift 的详细介绍:
FlappySwift 的下载地址:
想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:
旧一篇: 1年前
新一篇: 1年前
你也许会喜欢
暂无网友评论
2楼:daishunchao
暂无网友评论
3楼:shawumus
暂无网友评论
我好象又看到了flash开发者的后尘,记得当年挺流行的一个名字“小小”系列
5楼:强子哥哥
这个游戏的多人功能是我们单位支持的
6楼:qhboy
swift语言是不是也必须在mac系统上才能编译?
7楼:紫电清霜 来自
狂拽酷炫碉炸楼下
8楼:拉风的道长
9楼:红薯苗
暂无网友评论
10楼:xuewl
暂无网友评论
11楼:卡夫
暂无网友评论
12楼:dcx013
暂无网友评论
13楼:covito
暂无网友评论
14楼:你不认识丶
下面邀请网友评论
15楼:java9
暂无网友评论
16楼:一刀
好的,我是第一个评论。
17楼:上半年
暂无网友评论
18楼:梁上有木
暂无网友评论
19楼:滔哥
暂无网友评论
20楼:kidbei
与内容无关的评论将被删除,严重者禁用帐号
与内容无关的评论将被删除,严重者禁用帐号
本周热点资讯
本站最新资讯}

我要回帖

更多关于 苹果笔记本ios系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信