假定你去到一名闇練的木工的任務室舌胶,你老是能發(fā)現(xiàn)他/她有一堆對象來完成不合的義務。
軟件開辟異常如此辆它。你可以從軟件開辟者若何應用對象中看出他水準若何婉烟。有經(jīng)歷的開辟者精于應用對象。對你今朝所應用的對象賡續(xù)研究似袁,同時知道一些替代品的應用昙衅,當你今朝所用的對象沒法滿足你的需要時可以抵償空白。
記住了這些而涉,我將向你揭示一份關于各類對象的長長的列表。個中一些我每天都用材原,其他的我看狀況應用季眷。假定你還有更多的對象想展此刻這個列表里,可以跟我留言哦親威酒。
在這里我還是要推薦下我自己建的iOS開發(fā)學習群:680565220挺峡,群里都是學ios開發(fā)的,如果你正在學習ios 尤仍,小編歡迎你加入狭姨,今天分享的這個案例已經(jīng)上傳到群文件鲤嫡,大家都是軟件開發(fā)黨绑莺,不定期分享干貨(只有iOS軟件開發(fā)相關的)惕耕,包括我自己整理的一份2018最新的iOS進階資料和高級開發(fā)教程
我盡我所能給列表分分類司澎。有一些是網(wǎng)站,有些是后臺處事挤安,但大年夜大年夜多半是你可以裝的應用。不是一切應用都是收費嫩絮,是以我會用$符號來暗示此應用可否要花錢围肥。
廢話不多說,我們立時末尾置尔。
靈感
pttrns - 一個很棒的按義務分類的iOS屏幕設計圖庫氢伟。舉例來講,假定你想看其他應用若何措置勾當feed谬盐,在這兒你可以找到一堆的例子猪勇。
TappGala - 另外一個很棒的美好應用設計的調集站。它不是按義務來分類的助析,只是一個優(yōu)良應用的列表椅您,你可以在此獲得靈感。
Cocoa Controls - 一些很棒的你可以用在你的iOS應用中的組件(代碼)的列表雪隧。有時你可以找到一段優(yōu)良代碼來節(jié)流工夫,有時你也能夠進修其他開辟者是若何完成某個功用的藕畔。訂閱他們的每周一報吧庄拇,都是精華,極少糟粕溶弟。
IICNS - 真正優(yōu)良圖標的調集瞭郑。獲得靈感吧,但不要抄襲擒权。
Dribbble - 最優(yōu)良的設計師們鄙人面揭示他們的作品袜茧。真實的精品。
Capptivate - 給人靈感的設計作品圖庫纳鼎。有些帶有動畫裳凸。感激你,@joaopmaia逗宁!
設計
Mocks ($) – 一個簡單應用的快速創(chuàng)建iOS應用原型的對象梦湘。自帶一些默許控件,你可以快速搭建原型哼拔。
Briefs ($) – 一個很有效的應用瓣颅,可讓你創(chuàng)建應用原型,將原型連起來構成交互檬姥。你可以安插到真實設備上,看看在你手上是甚么樣的感應抒巢。
Acorn ($) – Photoshop的有力競爭者秉犹,比ps便宜多了。我發(fā)現(xiàn)本身比來用Photoshop愈來愈少了。該項目在積極的開辟保護中蜈彼。
Sketch ($) - 一個基于矢量的畫圖對象,跟著屏幕尺寸和像素密度的改動棍辕,這個對象愈來愈有效还绘。只需要設計一次拍顷,然后可以根據(jù)需要遏制縮放。同時還帶有一個很弱小大年夜的導出系統(tǒng)昔案。關于Sketch示例項目踏揣,請看Sketchmine。我的 screencast on Sketch上有視頻演示又谋。
iOS 7 PSD by Teehan+Lax - 假定你(或許你的設計師)用Photoshop的話娱局,這是個超有效的本錢。也有 iOS 6版本的剩愧。
Bjango’s Photoshop Actions - 假定你用Photoshop來設計iOS應用的話相對能幫你省工夫娇斩。一次點擊便可重設畫布大年夜大年夜小穴翩,縮放200%(或50%)锦积,設置全局亮度為90等等丰介。他們的 博客中也有很多Photoshop的任務身手。
xScope ($) – 一把弗成或缺的瑞士軍刀带膀,指導橙垢,像素縮小大年夜鏡,屏幕懷抱等等嗽元。想知道某個像素點的色彩值喂击?想知道某個Mac應用的一個按鈕和窗口之間有若干像素?xScope都能幫你佩谷〈亲觯可以看下他們?yōu)殓R像設計所開辟的iPhone應用,看鏡像設計在你的蘋果設備上是多么的像素完美稚补。
Glyphish ($) – 一個很贊的有很多你的iOS應用可以應用的高質量圖標的調集框喳。蘋果供給的內(nèi)置圖標其實不多五垮,一切具有這么一個包括各類概念的圖標調集很有效。我還在尋覓關于嬰兒的一些圖標放仗。Glyphish是以包的情勢頒布發(fā)表的,最新的包里有iOS7的“細線條”圖標莉撇,當設計iOS7應用的時辰很有效呢蛤。
Fontastic Icons for iOS - 一個應用圖標字體的開源類調集,例如iOS應用中的Font Awesome棍郎∑湔希可以在任何像素維度上快速精練的獲得一個圖標。因為字體在本色上可以輕松縮放涂佃,用這類編制可以很便當?shù)脑诓缓掀脚_應用的圖標励翼,而無需根據(jù)不合尺寸導出不合的版本。
PaintCode ($) -一個基于向量的畫圖對象辜荠,可以將你的作品導出為Core Graphics源代碼汽抚。用來進修Core Graphics畫圖是異常棒的,同時假定你想要靜態(tài)畫圖也是異常便當伯病。我的screencast on PaintCode上有視屏演示。
Edge Insets ($) – 一個幫助你定義可重用圖片邊距的簡單對象狱从。在Mac App Store上有售。
LiveView - 一個iOS上的長途屏幕查抄器叠纹,在你的設備上可以立馬輕松地看到你的設計圖季研。感激你,@_funkyboy誉察!
Skala Preview ($) – 另外一個很棒的可以在真實設備上快速看到你的設計圖的對象与涡。Bjango的同伙們很給力,這個應用物有所值持偏。感激你驼卖,jn40!
源代碼節(jié)制
Git - 假定你沒有應用源代碼節(jié)制的話鸿秆,停下手中的活立馬做出改動吧酌畜。我應用git做任何任務,我超愛它的卿叽。
Kaleidoscope ($) – 最棒的diff/merge對象桥胞。三路歸并,看著很斑斕考婴。我每天都用贩虾。
p4merge - 一個收費的、粗陋的Kaleidoscope的替代品沥阱。弱小大年夜的三路歸并功用缎罢,但找下載鏈接不隨便啊。我每首要找的時辰都覺得在他們網(wǎng)站上藏的很深啊。
Git X - 一個簡單弱小大年夜的GUI對象策精,可以看到git的工夫線舰始,輕松精練地完成暫存區(qū)提交。我平日在終端上應用git蛮寂,但當我需要將暫存區(qū)的改動做一次提交的時辰就會想到這個應用蔽午。這是本來(曾對峙)的GitX的一個衍生品,我在這個衍生品列表上找到的酬蹋。
Source Tree - 一個收費功用很全的Git應用及老。我沒用過是因為我愛好敕令行的編制,但假定你愛好用GUI對象的話范抓,可以看看這個骄恶。
分解應用
pngcrush - 這個合用對象可以縮短解縮短PNG文件,當你想那些App Store上應用里的圖片時很有效匕垫。只需翻開iTunes僧鲁,查抄本地應用列表,對圖標右鍵在Finder中翻開象泵。然后翻開應用寞秃,你可以看到一堆PNG文件,但你沒法查抄它們偶惠。應用了pngcrush你可以將它們?nèi)珨?shù)提取出來春寿,然后用預覽來查抄。
appcrush.rb - 這個很便當?shù)膔uby腳本可以針對一切圖片將以上過程主動化忽孽。只需將它指向你磁盤上的一個.app文件绑改,它就會將一切圖片提取到你桌面上的一個文件夾里。很便本地可以知道你手機上的應用若何完成某些設計的兄一。我的my screencast on dissecting apps上有視頻演示厘线。
Charles ($, 收費功用受限的試用版) – 我不知道它的界面或許圖標為何如此丑惡,然則Charles是關于任何開辟者來講都異常首要的一個對象出革。Charles作為一個代辦代理造壮,許可你監(jiān)督進出你iPhone摹擬器的匯集流量。你異陈钍可以經(jīng)過過程將手機的代辦代理設置為你Mac上正在運轉的Charles來監(jiān)控你設備上的流量费薄。字簽名的SSL證書,懇求&照顧斷點栖雾,懇求/照顧查抄器楞抡,Charles真心是大年夜大年夜贊。一個必須具有的對象析藕。再次召廷,我的dissecting apps上視頻演示。
編輯器
我知道你在想甚么,莫非不是一切iOS開辟者都用Xcode嗎竞慢?答案是大年夜大年夜多半都應用先紫。但從我和Xcode的恩恩仇怨來看,我信賴很有需要來揣摩下有哪些替代品筹煮。
AppCode - Jetbrains(ReSharper for .NET的制造公司)的一款功用周全的IDE遮精。弱小大年夜的重構對象和功用可以幫助你更快地寫代碼“芰剩快速辨認去世代碼本冲,當你應用了相干代碼時主動拔出#import語句,輕松拔取變量劫扒、編制和類檬洞。我獨一欲望的是它能成為Xcode的一個插件。
Vim - 等一下沟饥, vim添怔?真的么?切當是真的贤旷,有人在vim里做一切的Objective-C開辟广料。我其實不是個中之一,但我愛好用vim開辟ruby幼驶。就因為如此性昭,我很愛好…
Xvim - 一個Xcode插件,能應用vim中的keybindings县遣。感應不錯,‘nuff說汹族。
OMColorSense -另外一個Xcode插件萧求,當你的光標勾留在某個代碼行如:[UIColor redColor]上的時辰,它會在一小塊區(qū)域里揭示出代碼中的色彩顶瞒。點擊色彩選項卡會翻開色彩選擇器夸政,你鄙人面做的任何改動都邑在代碼里獲得反應,照顧代碼改成[UIColor colorWithRed:... green... blue... alpha:... ]榴徐。當我開著這個功用寫代碼守问,他人看到的時辰老是問我:“哇哦!這是啥玩意坑资!”
KSImageNamed - 另外一個Xcode插件耗帕,可以在你打下[UIImage imageNamed:...]的時辰,主動補全bundle中圖片的文件名袱贮。有了它仿便,便可以避免那些不寄望打錯圖片名招致編制前去nil,然后你花10分鐘去檢討為甚么圖片沒有揭示出來的結果了。
CocoaPods Xcode Plugin - 這個插件增加了一個菜單項可以和CocoaPods交互嗽仪。假定你不想用敕令行的話很有效荒勇。
Alcatraz Package Manager - 一個很棒的元插件,可讓你經(jīng)過過程輕點鼠標輕松裝配其他的Xcode配色經(jīng)營和插件闻坚。
Code Runner ($) – 一個輕量級的代碼感知文本編輯器沽翔,知道如何編譯和運轉多種措辭的代碼。想快速測試一段Objective-C代碼窿凤,又不想創(chuàng)建一全數(shù)Xcode項目仅偎?嘗嘗Code Runner吧。
文檔
啊哈卷玉,文檔哨颂,每小我最愛的話題。文檔很首要相种,是以請寄望一下威恼,我們可讓你糊口變得簡單一些。
appledoc - 想主動生成蘋果官方那樣的文檔嗎寝并?不消再找了箫措。主動在你的項目中定義超鏈接符號,應用出格格局的代碼注釋來提取內(nèi)容衬潦。生成正式文檔和HTML網(wǎng)頁斤蔓。
Dash ($) – 一個必須具有的API文檔查抄器和代碼片段辦理器。它很好用镀岛,許可你下載并搜刮各類措辭和框架的API文檔弦牡,并且速度很快。最快拜候文檔的編制漂羊。為了使搜刮更快驾锰,我把Dash和Alfred集成起來應用。
依托辦理
是的走越,這里只列舉了一個對象椭豫。我不想引入真實的第三方庫列表,因為它們屬于完全不合的另外一個列表旨指。當我們談到依托辦理的時辰赏酥,最最首要的就是:
CocoaPods - 辦理Objective-C項目標首要對象。許可你輕松快速地將第三方庫集成到你的應用中谆构。它是經(jīng)過過程創(chuàng)建另外一個靜態(tài)庫工程裸扶,然后主動鏈接到你的工程來完成的。有不成勝數(shù)個可用的pod搬素,可以輕松地為你的項目增加那些不屬于你(或許私有)的第三方庫撐持姓言。我在我的每個項目里都用了CocoaPods瞬项。
診斷&調試
有時辰我們正在開辟應用,我們想更好的懂掉掉落底產(chǎn)生了甚么何荚,修bug或許改進機能囱淋。
Cocoa Lumberjack - 一個更弱小大年夜的NSLog,Cocoa Lumberjack供給了初等日記行動餐塘,比如記錄日記到文件妥衣、匯集,根據(jù)日記級別來遴選(info,debug,warn,error)戒傻。在NSScreencast Episode 61中有提到税手。
DCIntrospect - 當你在摹擬器上調試的時辰鏈接到你應用中的超弱小大年夜的對象。一旦你這么做了需纳,你可以按下空格鍵來獲得一些很有效的視圖調試撐持芦倒。查抄屏幕上視圖元素的精確維度,打印視圖層次不翩,乃至程度或垂直移動視圖兵扬。
Pony Debugger - 另外一個你可以嵌入一個庫到你調試版本中的對象,Pony Debugger實踐上應用了Chrome的開辟對象來查抄設備上收回的匯集懇求口蝠,還有一個根基的Core Data瀏覽器器钟。很難刻畫,請看我的screencast on Pony Debugger吧妙蔗。
Runscope ($) – Runscope是一個匯集處事傲霸,可以捕獲懇求,記錄日記眉反,給你關于你的API的有效數(shù)據(jù)昙啄。因為它是個HTTP通道API, 搭建簡單寸五,你只需要改換你的主機名就好了梳凛。
SimPholders - 快速簡單的拜候你的摹擬器文件夾。根據(jù)iOS版本來瀏覽播歼,然后是應用名,可以直接在Finder中翻開文件夾掰读。
Spark Inspector - 在調試情勢運轉你的應用時秘狞,可以用3D來揭示調試你的視圖層次。這個應用你真的要看到了才會真正大白它的價值蹈集。它能幫助你知道你的應用是由哪些視圖構成的烁试。它還帶有一個通知中間監(jiān)督器,你可以輕松看到收回了哪些NSNotification拢肆,誰在不雅不雅察它們减响。另外一個監(jiān)控NSNotification的應用是Reveal靖诗。
圖象
ImageAlpha - 一個Mac應用,可讓你將24位帶透明度的PNG圖轉成8位的帶alpha通道的PNG圖支示。平日8位PNG圖不帶有alpha通道刊橘,是以假定你的圖片可以用8位來暗示(比如一個單色的按鈕)的話米辐,你可以經(jīng)過過程把25位PNG轉成8位的來節(jié)流很多空間逐哈。
ImageOptim - 另外一個Mac應用,可以縮短PNG圖片來節(jié)流空間槽奕。大年夜大年夜多半PNG文件可以省掉落落幾個百分點的大年夜大年夜小嘴纺,有時乃至30%或更多败晴。圖片更小意味著應用尺寸更小,運轉時加載它們所應用的內(nèi)存也更小栽渴。
Prepo - 一個Mac上的小應用尖坤,可以將圖片快速變換為你需要的多個尺寸。只需要拖動一個大年夜大年夜圖標文件(比如闲擦,1024*1024)到Prepo慢味,它就會生成512*512的iTunesArtwork,114*114的 Icon@2x.png佛致,和其他的尺寸和文件名贮缕。
Slender ($) -一個很棒的應用,可以分解你的應用俺榆,找出各類結果感昼,比如貧乏視網(wǎng)膜屏的圖片,沒用到的圖片罐脊,能縮短的圖片定嗓。應用Slender去除掉落落那些沒用的圖片,可覺得你的iPhone應用節(jié)流很多多少空間萍桌。
Core Data
Mogenerator - 一個超有效的對象宵溅,在你的Core Data模型中生成NSManagedObjects智能子類。有些人應用Xcode完成這功用上炎,經(jīng)過過程手動子類化或許創(chuàng)建分類來為模型增加邏輯恃逻。Mogenerator作為預編譯腳本運轉來生成你可以應用的子類。它經(jīng)過過程創(chuàng)建帶有下劃線的版本(_User)和正常你可以批改的版本(User)來完成藕施。
Base ($) – 你必然會需要查抄你的Core Data sqlite數(shù)據(jù)庫來檢討產(chǎn)生了甚么寇损。你可以應用sqlite3敕令行對象,但Base給了你一個便當查抄的GUI瀏覽器裳食。當你看到Core Data為你創(chuàng)建的數(shù)據(jù)庫schema時你可不要吐哦矛市。
Core Data Editor ($) -關于一些更初等的數(shù)據(jù)分解、開掘和批改诲祸,你可以應用Core Data Editor浊吏。這個應用知道Core Data而昨,是以你是在直接和實體打交道,而不是數(shù)據(jù)庫行找田。
后臺處事
終究你的iOS應用很可以或許會和處事器通信分享數(shù)據(jù)歌憨、獲得新內(nèi)容、發(fā)送推送通知等等午阵。當然你都可以手動去做躺孝,但你或許想要更便當?shù)拇胫媒?jīng)營。
Helios - Helios是一個開源的框架底桂,為iOS應用供給了根基的后臺處事植袍,從數(shù)據(jù)同步、推送通知到應用內(nèi)購買和passbook集成籽懦。它建立在很多開源ruby gem的根基上于个,是以假定你想要的話可以遴選構建你本身的棧∧核常看一下Nomad CLI厅篓,有很多好用的相干對象。
Windows Azure Mobile Services - 你可以把它想象成在云端的一個可編程數(shù)據(jù)庫捶码。建表羽氮,用JavasScript來讀取、拔出惫恼、刪除档押,增加額外的功用。完成推送通知相當簡單祈纯。
Urban Airship - 我此刻在用Urban Airship來完成推送通知令宿。很隨便集成,用戶量不大年夜大年夜的話是收費的腕窥。
Parse - 這是另外一個云端數(shù)據(jù)處事粒没,然則它供給了很多API和有一個在線數(shù)據(jù)瀏覽器。我們一個很小的應用用了Parse簇爆,感應不錯癞松。
分解
這里還有些其他選擇,但沒有一個讓我覺得有沖動把flurry換掉落落的入蛆。我樂于聽取觀點响蓉,迎接在評論里通知我吧。
Flurry - 我用flurry很長工夫了安寺,它可以供給用戶應用我的應用的有效的分解數(shù)據(jù)厕妖。想知道甚么時辰可以中斷撐持iOS5么首尼?Flurry會給你數(shù)據(jù)供你們評論辯論挑庶。
安插
Deploymate ($) – 還需要撐持iOS4言秸,然則你在用iOS6 SDK編譯?當你應用了一些在你的安插目標上不存在的符號時迎捺,Deploymate會警告你的举畸。
Cupertino - Nomad CLI對象之一,Cupertino為你供給了敕令行接口來辦理蘋果Provisioning Portal上的設備及profile凳枝。舉例來講抄沮,只需鍵入ios devices:list便可以看到你帳號里的今后設備列表♂澹可以用來主動化很多過程叛买。
Hockey App ($) – 辦理你ad-hoc版本頒布發(fā)表的不錯處事。測試人員可以獲得一個鏈接蹋订,無線裝配新的測試版本率挣。它還供給了卻實的解體申報功用,你可以輕松應對你應用中的解體露戒。
TestFlight - 一個類似于Hockey App的收費應用椒功。我們應用TestFlight曾獲得了很大年夜大年夜成功,輕松頒布發(fā)表應用智什,從用戶那匯集反應动漾。我獨一欲望他們能對這個處事遏制收費。它還包含了分解和解體申報功用荠锭,但我們沒有效到那些功用旱眯。
iOS Simulator Cropper - 一個拍摹擬器屏幕快照的簡單編制,可以選擇帶或許不帶狀況欄节沦,帶或許不帶機械外殼等等键思。關于App Store或許深切市場上的一些截屏很有效。
Status Magic ($) – 拍出更好的app store截屏圖甫贯。沒有甚么比App Store上帶有低電量或許低旗號暗號標識的截屏圖更讓你的應用看起來蹩腳的了吼鳞。Status Magic讓你充分定制你的狀況欄,包含去除一些元素叫搁,把工夫改成蘋果愛好的“9:41 AM”那樣赔桌,等等。
Crashlytics -關于你正在開辟中的應用來講是個很棒的解體申報對象渴逻。在頒布發(fā)表版里主動上傳dSYM文件疾党,是以你的解體日記會為你主動符號化并組織好,你可以專注于最關頭的局部惨奕。
測試
我覺得我們作為一個社區(qū)對測試存眷得還不敷雪位。有很多不錯的對象可用,大年夜大年夜多半都很好用梨撞,我們沒有飾辭不為我們的應用寫一些測試雹洗。
Kiwi - 一個不錯的Rspec風格的iOS測試框架香罐。基于SenTestingKit建立时肿,是以你只需按下?U來運轉你的用例庇茫。它異常帶有健壯的mocking和stubbing庫和斷言。
Specta -一個類似于Kiwi的輕量級BDD框架螃成,然則它的expectation語法有一個比Kiwi好的處所:每個變量都隱式裝箱:expect(items.count).to.equal(5)旦签。不需要像Kiwi那樣將5包裝成NSNumber。和Expecta搭配應用成果更好寸宏。
以下的幾個都可以用來實施端到端的驗收測試宁炫。這些測試會和你的界面交互,點擊按鈕氮凝,動彈淋淀,等等。當然上它們運轉會對比慢覆醇,然則在大年夜大年夜范圍內(nèi)測試會更隨便看到一切的模塊整合的可否優(yōu)勝朵纷。
KIF
Calabash
Zucchini
Frank
Bwoken
演示/市場
Reflector ($) – 將你的iOS設備經(jīng)過過程Air Play鏡像到你的Mac上。很適合在你的電腦上做應用演示永脓。
Placeit - 一些關于人們應用設備的高辯白率的圖的調集袍辞,然則設備可以由你上傳的截屏圖來定制。很酷常摧,很適合在你網(wǎng)站上優(yōu)雅地揭示你的應用搅吁。
應用發(fā)賣申報
你當然想要知道你的應用能賺若干錢,不是么落午?有一些措置經(jīng)營谎懦,這兒有些還不錯的:
App Viz 2 ($) – 一個很有效的Mac應用,可以跟蹤你應用的銷量溃斋。你在本地運轉它界拦,它會登錄并下載你的發(fā)賣申報。
App Annie - 一個在線的發(fā)賣申報對象梗劫。我不太甘心把我的認證信息交給除iTunes以外的第三方享甸,但它切當能確保你的申報是最新的,你無需在本地運轉一個法度典型梳侨。在評論中蛉威,Josh Brown建議可以創(chuàng)建另外一個用戶用于iTunes Connect中的分解,這個主張不錯走哺。
摸彩袋
這些對象沒有一個定義好的分類蚯嫌,但值得一提。
Quick Radar - 提交bug申報給蘋果,是我們獨一可以幫助他們改進對象的編制择示。假定你因為貧乏某個功用覺得萬分懊喪妒牙,你可以提交一個bug申報。假定你碰著了一個bug对妄,你異常可以敢朱。假定他們沒有雷達的話剪菱,用戶還沒有抱怨的權力:)是以,經(jīng)過過程bugreporter來提交bug申報的話仿佛又回到了1995年拴签。Quick Radar是一個很贊的應用孝常,它可使提交bug申報變得超等簡單。主動頒布發(fā)表到開放的雷達蚓哩,多么其他人就可以看到构灸,也能夠發(fā)twitter,頒布發(fā)表到App.net岸梨。我每周都要用好幾次這個應用喜颁。
原文
如果你去到一位熟練的木匠的工作室,你總是能發(fā)現(xiàn)他/她有一堆工具來完成不同的任務曹阔。
軟件開發(fā)同樣如此半开。你可以從軟件開發(fā)者如何使用工具中看出他水準如何。有經(jīng)驗的開發(fā)者精于使用工具赃份。對你目前所使用的工具不斷研究寂拆,同時了解一些替代品的使用,當你目前所用的工具無法滿足你的需要時可以填補空缺抓韩。
記住了這些纠永,我將向你展示一份關于各種工具的長長的列表。其中一些我每天都用谒拴,其他的我看情況使用尝江。如果你還有更多的工具想展示在這個列表里,可以跟我留言哦親英上。
我盡我所能給列表分分類茂装。有一些是網(wǎng)站,有些是后臺服務善延,但大多數(shù)是你可以裝的應用少态。不是所有應用都是免費,因此我會用$符號來表示此應用是否要花錢易遣。
廢話不多說彼妻,我們馬上開始。
靈感
pttrns - 一個很棒的按任務分類的iOS屏幕設計圖庫。舉例來說侨歉,如果你想看其他應用如何處理活動feed屋摇,在這兒你可以找到一堆的例子。
TappGala - 另一個很棒的優(yōu)美應用設計的集合站幽邓。它不是按任務來分類的炮温,只是一個優(yōu)秀應用的列表,你可以在此獲取靈感牵舵。
Cocoa Controls - 一些很棒的你可以用在你的iOS應用中的組件(代碼)的列表柒啤。有時你可以找到一段優(yōu)秀代碼來節(jié)省時間,有時你也可以學習其他開發(fā)者是如何完成某個功能的畸颅。訂閱他們的每周一報吧担巩,都是精華,極少糟粕没炒。
IICNS - 真正優(yōu)秀圖標的集合涛癌。獲取靈感吧,但不要抄襲送火。
Dribbble - 最優(yōu)秀的設計師們在上面展示他們的作品拳话。真正的精品。
Capptivate - 給人靈感的設計作品圖庫种吸。有些帶有動畫假颇。感謝你,@joaopmaia骨稿!
設計
Mocks ($) – 一個簡單應用的快速創(chuàng)建iOS應用原型的工具笨鸡。自帶一些默認控件,你可以快速搭建原型坦冠。
Briefs ($) – 一個很有用的應用形耗,可以讓你創(chuàng)建應用原型,將原型連起來形成交互辙浑。你可以部署到真實設備上激涤,看看在你手上是什么樣的感覺。
Acorn ($) – Photoshop的有力競爭者判呕,比ps便宜多了倦踢。我發(fā)現(xiàn)自己最近用Photoshop越來越少了。該項目在積極的開發(fā)維護中侠草。
Sketch ($) - 一個基于矢量的畫圖工具辱挥,隨著屏幕尺寸和像素密度的改變,這個工具越來越有用边涕。只需要設計一次晤碘,然后可以根據(jù)需要進行縮放褂微。同時還帶有一個很強大的導出系統(tǒng)。對于Sketch示例項目园爷,請看Sketchmine宠蚂。我的 screencast on Sketch上有視頻演示。
iOS 7 PSD by Teehan+Lax - 如果你(或者你的設計師)用Photoshop的話童社,這是個超有用的資源求厕。也有 iOS 6版本的。
Bjango’s Photoshop Actions - 如果你用Photoshop來設計iOS應用的話絕對能幫你省時間扰楼。一次點擊即可重設畫布大小呀癣,縮放200%(或50%),設置全局亮度為90等等灭抑。他們的 博客中也有許多Photoshop的工作技巧。
xScope ($) – 一把不可或缺的瑞士軍刀抵代,指導腾节,像素放大鏡,屏幕度量等等荤牍。想知道某個像素點的顏色值案腺?想知道某個Mac應用的一個按鈕和窗口之間有多少像素?xScope都能幫你康吵∨ィ可以看下他們?yōu)殓R像設計所開發(fā)的iPhone應用,看鏡像設計在你的蘋果設備上是多么的像素完美晦嵌。
Glyphish ($) – 一個很贊的有很多你的iOS應用可以使用的高質量圖標的集合同辣。蘋果提供的內(nèi)置圖標并不多,所有擁有這么一個囊括各種概念的圖標集合很有用惭载。我還在尋找關于嬰兒的一些圖標旱函。Glyphish是以包的形式發(fā)布的,最新的包里有iOS7的“細線條”圖標描滔,當設計iOS7應用的時候很有用棒妨。
Fontastic Icons for iOS - 一個使用圖標字體的開源類集合,例如iOS應用中的Font Awesome含长∪唬可以在任何像素維度上快速簡便的得到一個圖標。由于字體在本質上可以輕松縮放拘泞,用這種辦法可以很方便的在不同平臺使用的圖標纷纫,而無需根據(jù)不同尺寸導出不同的版本。
PaintCode ($) -一個基于向量的畫圖工具陪腌,可以將你的作品導出為Core Graphics源代碼涛酗。用來學習Core Graphics繪圖是非常棒的铡原,同時如果你想要動態(tài)繪圖也是非常方便。我的screencast on PaintCode上有視屏演示商叹。
Edge Insets ($) – 一個幫助你定義可重用圖片邊距的簡單工具燕刻。在Mac App Store上有售。
LiveView - 一個iOS上的遠程屏幕查看器剖笙,在你的設備上可以立馬輕松地看到你的設計圖卵洗。謝謝你,@_funkyboy弥咪!
Skala Preview ($) – 另一個很棒的可以在真實設備上快速看到你的設計圖的工具过蹂。Bjango的朋友們很給力,這個應用物有所值聚至。謝謝你酷勺,jn40!
源代碼控制
Git - 如果你沒有使用源代碼控制的話扳躬,停下手中的活立馬做出改變吧脆诉。我使用git做任何事情,我超愛它的贷币。
Kaleidoscope ($) – 最棒的diff/merge工具击胜。三路合并,看著很漂亮役纹。我每天都用偶摔。
p4merge - 一個免費的、簡陋的Kaleidoscope的替代品促脉。強大的三路合并功能辰斋,但找下載鏈接不容易啊。我每次要找的時候都覺得在他們網(wǎng)站上藏的很深啊瘸味。
Git X - 一個簡單強大的GUI工具亡呵,可以看到git的時間線,輕松簡便地實現(xiàn)暫存區(qū)提交硫戈。我通常在終端上使用git锰什,但當我需要將暫存區(qū)的改變做一次提交的時候就會想到這個應用。這是原來(已經(jīng)廢棄)的GitX的一個衍生品丁逝,我在這個衍生品列表上找到的汁胆。
Source Tree - 一個免費功能很全的Git應用。我沒用過是因為我喜歡命令行的方式霜幼,但如果你喜歡用GUI工具的話嫩码,可以看看這個。
剖析應用
pngcrush - 這個實用工具可以壓縮解壓縮PNG文件罪既,當你想那些App Store上應用里的圖片時很有用铸题。只要打開iTunes铡恕,查看本地應用列表,對圖標右鍵在Finder中打開丢间。然后打開應用探熔,你可以看到一堆PNG文件,但你沒法查看它們烘挫。使用了pngcrush你可以將它們?nèi)刻崛〕鰜砭骷瑁缓笥妙A覽來查看。
appcrush.rb - 這個很方便的ruby腳本可以針對所有圖片將以上過程自動化饮六。只需將它指向你磁盤上的一個.app文件其垄,它就會將所有圖片提取到你桌面上的一個文件夾里。很方便地可以知道你手機上的應用如何完成某些設計的卤橄。我的my screencast on dissecting apps上有視頻演示绿满。
Charles ($, 免費功能受限的試用版) – 我不知道它的界面或者圖標為何如此丑陋,但是Charles是對于任何開發(fā)者來說都非常重要的一個工具窟扑。Charles作為一個代理喇颁,允許你監(jiān)視進出你iPhone模擬器的網(wǎng)絡流量。你同樣可以通過將手機的代理設置為你Mac上正在運行的Charles來監(jiān)控你設備上的流量辜膝。字簽名的SSL證書无牵,請求&響應斷點漾肮,請求/響應查看器厂抖,Charles真心是大贊。一個必須擁有的工具克懊。再次忱辅,我的dissecting apps上視頻演示。
編輯器
我知道你在想什么谭溉,難道不是所有iOS開發(fā)者都用Xcode嗎墙懂?答案是大多數(shù)都使用。但從我和Xcode的恩恩怨怨來看扮念,我相信很有必要來考慮下有哪些替代品损搬。
AppCode - Jetbrains(ReSharper for .NET的制作公司)的一款功能全面的IDE。強大的重構工具和功能可以幫助你更快地寫代碼柜与∏汕冢快速識別死代碼,當你使用了相關代碼時自動插入#import語句弄匕,輕松選取變量颅悉、方法以及類。我唯一希望的是它能成為Xcode的一個插件迁匠。
Vim - 等一下剩瓶, vim驹溃?真的么?確實是真的延曙,有人在vim里做所有的Objective-C開發(fā)豌鹤。我并不是其中之一,但我喜歡用vim開發(fā)ruby搂鲫。就因為如此傍药,我很喜歡…
Xvim - 一個Xcode插件,能使用vim中的keybindings魂仍。感覺不錯拐辽,‘nuff說。
OMColorSense -另一個Xcode插件擦酌,當你的光標停留在某個代碼行如:[UIColor redColor]上的時候俱诸,它會在一小塊區(qū)域里展示出代碼中的顏色。點擊顏色選項卡會打開顏色選擇器赊舶,你在上面做的任何改變都會在代碼里得到反映睁搭,相應代碼改為[UIColor colorWithRed:... green... blue... alpha:... ]。當我開著這個功能寫代碼笼平,別人看到的時候總是問我:“哇哦园骆!這是啥玩意!”
KSImageNamed - 另一個Xcode插件寓调,可以在你打下[UIImage imageNamed:...]的時候锌唾,自動補全bundle中圖片的文件名。有了它夺英,就可以避免那些不小心打錯圖片名導致方法返回nil晌涕,然后你花10分鐘去檢查為什么圖片沒有展示出來的問題了。
CocoaPods Xcode Plugin - 這個插件增加了一個菜單項可以和CocoaPods交互痛悯。如果你不想用命令行的話很有用余黎。
Alcatraz Package Manager - 一個很棒的元插件,可以讓你通過輕點鼠標輕松安裝其他的Xcode配色方案和插件载萌。
Code Runner ($) – 一個輕量級的代碼感知文本編輯器惧财,知道怎么編譯和運行多種語言的代碼。想快速測試一段Objective-C代碼扭仁,又不想創(chuàng)建一整個Xcode項目垮衷?試試Code Runner吧。
文檔
啊哈斋枢,文檔帘靡,每個人最愛的話題。文檔很重要瓤帚,因此請注意一下描姚,我們可以讓你生活變得簡單一些涩赢。
appledoc - 想自動生成蘋果官方那樣的文檔嗎?不用再找了轩勘。自動在你的項目中定義超鏈接符號筒扒,使用特殊格式的代碼注釋來提取內(nèi)容。生成正式文檔和HTML網(wǎng)頁绊寻。
Dash ($) – 一個必須擁有的API文檔查看器和代碼片段管理器花墩。它很好用,允許你下載并搜索各種語言和框架的API文檔澄步,而且速度很快冰蘑。最快訪問文檔的方式。為了使搜索更快村缸,我把Dash和Alfred集成起來使用祠肥。
依賴管理
是的,這里只列舉了一個工具梯皿。我不想引入真正的第三方庫列表仇箱,因為它們屬于完全不同的另一個列表。當我們談到依賴管理的時候东羹,最最重要的就是:
CocoaPods - 管理Objective-C項目的重要工具剂桥。允許你輕松快速地將第三方庫集成到你的應用中。它是通過創(chuàng)建另一個靜態(tài)庫工程属提,然后自動鏈接到你的工程來實現(xiàn)的权逗。有成千上萬個可用的pod,可以輕松地為你的項目增加那些不屬于你(或者私有)的第三方庫支持垒拢。我在我的每個項目里都用了CocoaPods旬迹。
診斷&調試
有時候我們正在開發(fā)應用火惊,我們想更好的了解到底發(fā)生了什么求类,修bug或者改善性能。
Cocoa Lumberjack - 一個更強大的NSLog屹耐,Cocoa Lumberjack提供了高級日志行為尸疆,比如記錄日志到文件、網(wǎng)絡惶岭,根據(jù)日志級別來篩選(info,debug,warn,error)寿弱。在NSScreencast Episode 61中有提到。
DCIntrospect - 當你在模擬器上調試的時候鏈接到你應用中的超強大的工具按灶。一旦你這么做了症革,你可以按下空格鍵來取得一些很有用的視圖調試支持。查看屏幕上視圖元素的精確維度鸯旁,打印視圖層次噪矛,甚至水平或垂直移動視圖量蕊。
Pony Debugger - 另一個你可以嵌入一個庫到你調試版本中的工具,Pony Debugger實際上使用了Chrome的開發(fā)工具來查看設備上發(fā)出的網(wǎng)絡請求艇挨,還有一個基本的Core Data瀏覽器残炮。很難描述,請看我的screencast on Pony Debugger吧缩滨。
Runscope ($) – Runscope是一個網(wǎng)絡服務势就,可以捕捉請求,記錄日志脉漏,給你關于你的API的有用數(shù)據(jù)。因為它是個HTTP通道API侧巨, 搭建簡單抱完,你只需要更換你的主機名就行了。
SimPholders - 快速簡單的訪問你的模擬器文件夾刃泡。根據(jù)iOS版本來瀏覽巧娱,然后是應用名,可以直接在Finder中打開文件夾烘贴。
Spark Inspector - 在調試模式運行你的應用時禁添,可以用3D來展示調試你的視圖層次。這個應用你真的要看到了才會真正明白它的價值桨踪。它能幫助你了解你的應用是由哪些視圖組成的老翘。它還帶有一個通知中心監(jiān)視器,你可以輕松看到發(fā)出了哪些NSNotification锻离,誰在觀察它們铺峭。另一個監(jiān)控NSNotification的應用是Reveal。
圖像
ImageAlpha - 一個Mac應用汽纠,可以讓你將24位帶透明度的PNG圖轉成8位的帶alpha通道的PNG圖卫键。通常8位PNG圖不帶有alpha通道,因此如果你的圖片可以用8位來表示(比如一個單色的按鈕)的話虱朵,你可以通過把25位PNG轉成8位的來節(jié)省很多空間莉炉。
ImageOptim - 另一個Mac應用,可以壓縮PNG圖片來節(jié)省空間碴犬。大多數(shù)PNG文件可以省掉幾個百分點的大小絮宁,有時甚至30%或更多。圖片更小意味著應用尺寸更小服协,運行時加載它們所使用的內(nèi)存也更小绍昂。
Prepo - 一個Mac上的小應用,可以將圖片快速變換為你需要的多個尺寸。只需要拖動一個大圖標文件(比如窘游,1024*1024)到Prepo卖陵,它就會生成512*512的iTunesArtwork,114*114的 Icon@2x.png张峰,以及其他的尺寸和文件名泪蔫。
Slender ($) -一個很棒的應用,可以分析你的應用,找出各種問題,比如缺少視網(wǎng)膜屏的圖片蚪燕,沒用到的圖片,能壓縮的圖片餐曹。使用Slender去除掉那些沒用的圖片,可以為你的iPhone應用節(jié)省好多空間敌厘。
Core Data
Mogenerator - 一個超有用的工具台猴,在你的Core Data模型中生成NSManagedObjects智能子類。有些人使用Xcode完成這功能俱两,通過手動子類化或者創(chuàng)建分類來為模型增加邏輯饱狂。Mogenerator作為預編譯腳本運行來生成你可以使用的子類。它通過創(chuàng)建帶有下劃線的版本(_User)以及正常你可以修改的版本(User)來實現(xiàn)宪彩。
Base ($) – 你肯定會需要查看你的Core Data sqlite數(shù)據(jù)庫來檢查發(fā)生了什么休讳。你可以使用sqlite3命令行工具,但Base給了你一個方便查看的GUI瀏覽器尿孔。當你看到Core Data為你創(chuàng)建的數(shù)據(jù)庫schema時你可不要吐哦俊柔。
Core Data Editor ($) -對于一些更高級的數(shù)據(jù)分析、發(fā)掘以及修改活合,你可以使用Core Data Editor雏婶。這個應用了解Core Data,因此你是在直接和實體打交道白指,而不是數(shù)據(jù)庫行留晚。
后臺服務
最終你的iOS應用很可能會和服務器通信分享數(shù)據(jù)、獲取新內(nèi)容侵续、發(fā)送推送通知等等倔丈。雖然你都可以手動去做憨闰,但你或許想要更方便的解決方案状蜗。
Helios - Helios是一個開源的框架,為iOS應用提供了基礎的后臺服務鹉动,從數(shù)據(jù)同步轧坎、推送通知到應用內(nèi)購買以及passbook集成。它建立在許多開源ruby gem的基礎上泽示,因此如果你想要的話可以挑選構建你自己的棧缸血∶郯保看一下Nomad CLI,有很多好用的相關工具捎泻。
Windows Azure Mobile Services - 你可以把它想象成在云端的一個可編程數(shù)據(jù)庫飒炎。建表,用JavasScript來讀取笆豁、插入郎汪、刪除,增加額外的功能闯狱。實現(xiàn)推送通知相當簡單煞赢。
Urban Airship - 我現(xiàn)在在用Urban Airship來實現(xiàn)推送通知。很容易集成哄孤,用戶量不大的話是免費的照筑。
Parse - 這是另一個云端數(shù)據(jù)服務,但是它提供了很多API以及有一個在線數(shù)據(jù)瀏覽器瘦陈。我們一個很小的應用用了Parse凝危,感覺不錯。
分析
這里還有些別的選擇晨逝,但沒有一個讓我覺得有沖動把flurry換掉的媒抠。我樂于聽取意見,歡迎在評論里告訴我吧咏花。
Flurry - 我用flurry很長時間了趴生,它可以提供用戶使用我的應用的有用的分析數(shù)據(jù)。想知道什么時候可以停止支持iOS5么昏翰?Flurry會給你數(shù)據(jù)供你們討論苍匆。
部署
Deploymate ($) – 還需要支持iOS4,但是你在用iOS6 SDK編譯棚菊?當你使用了一些在你的部署目標上不存在的符號時浸踩,Deploymate會警告你的。
Cupertino - Nomad CLI工具之一统求,Cupertino為你提供了命令行接口來管理蘋果Provisioning Portal上的設備及profile检碗。舉例來說,只要鍵入ios devices:list就可以看到你帳號里的當前設備列表码邻≌厶辏可以用來自動化許多過程。
Hockey App ($) – 管理你ad-hoc版本發(fā)布的不錯服務像屋。測試人員可以得到一個鏈接怕犁,無線安裝新的測試版本。它還提供了健壯的崩潰報告功能,你可以輕松應對你應用中的崩潰奏甫。
TestFlight - 一個類似于Hockey App的免費應用戈轿。我們使用TestFlight已經(jīng)取得了很大成功,輕松發(fā)布應用阵子,從用戶那收集反饋思杯。我唯一希望他們能對這個服務進行收費。它還包括了分析和崩潰報告功能挠进,但我們沒有用到那些功能智蝠。
iOS Simulator Cropper - 一個拍模擬器屏幕快照的簡單方法,可以選擇帶或者不帶狀態(tài)欄奈梳,帶或者不帶機器外殼等等杈湾。對于App Store或者普通市場上的一些截屏很有用。
Status Magic ($) – 拍出更好的app store截屏圖攘须。沒有什么比App Store上帶有低電量或者低信號標識的截屏圖更讓你的應用看起來糟糕的了漆撞。Status Magic讓你充分定制你的狀態(tài)欄,包括去除一些元素于宙,把時間改成蘋果喜歡的“9:41 AM”那樣浮驳,等等。
Crashlytics -對于你正在開發(fā)中的應用來說是個很棒的崩潰報告工具捞魁。在發(fā)布版里自動上傳dSYM文件至会,因此你的崩潰日志會為你自動符號化并組織好,你可以專注于最關鍵的部分谱俭。
測試
我認為我們作為一個社區(qū)對測試關注得還不夠奉件。有很多不錯的工具可用,大多數(shù)都很好用昆著,我們沒有借口不為我們的應用寫一些測試县貌。
Kiwi - 一個不錯的Rspec風格的iOS測試框架〈斩基于SenTestingKit建立煤痕,因此你只需按下?U來運行你的用例。它同樣帶有健壯的mocking以及stubbing庫和斷言接谨。
Specta -一個類似于Kiwi的輕量級BDD框架摆碉,但是它的expectation語法有一個比Kiwi好的地方:每個變量都隱式裝箱:expect(items.count).to.equal(5)。不需要像Kiwi那樣將5包裝成NSNumber脓豪。和Expecta搭配使用效果更好巷帝。
以下的幾個都可以用來執(zhí)行端到端的驗收測試。這些測試會和你的界面交互跑揉,點擊按鈕锅睛,滾動埠巨,等等历谍。雖然上它們運行會比較慢现拒,但是在大范圍內(nèi)測試會更容易看到所有的模塊整合的是否良好。
KIF
Calabash
Zucchini
Frank
Bwoken
演示/市場
Reflector ($) – 將你的iOS設備通過Air Play鏡像到你的Mac上望侈。很適合在你的電腦上做應用演示印蔬。
Placeit - 一些關于人們使用設備的高分辨率的圖的集合,但是設備可以由你上傳的截屏圖來定制脱衙。很酷侥猬,很適合在你網(wǎng)站上優(yōu)雅地展示你的應用。
應用銷售報告
你當然想要知道你的應用能賺多少錢捐韩,不是么退唠?有一些解決方案,這兒有些還不錯的:
App Viz 2 ($) – 一個很有用的Mac應用荤胁,可以跟蹤你應用的銷量瞧预。你在本地運行它,它會登錄并下載你的銷售報告仅政。
App Annie - 一個在線的銷售報告工具垢油。我不太樂意把我的認證信息交給除了iTunes以外的第三方,但它確實能確保你的報告是最新的圆丹,你無需在本地運行一個程序滩愁。在評論中,Josh Brown建議可以創(chuàng)建另一個用戶用于iTunes Connect中的分析辫封,這個主意不錯硝枉。
摸彩袋
這些工具沒有一個定義好的分類,但值得一提倦微。
Quick Radar - 提交bug報告給蘋果檀咙,是我們唯一可以幫助他們改善工具的辦法。如果你由于缺少某個功能感到萬分沮喪璃诀,你可以提交一個bug報告弧可。如果你遇到了一個bug,你同樣可以劣欢。如果他們沒有雷達的話棕诵,用戶還沒有抱怨的權利:)因此,通過bugreporter來提交bug報告的話好像又回到了1995年凿将。Quick Radar是一個很贊的應用校套,它可以使提交bug報告變得超級簡單。自動發(fā)布到開放的雷達牧抵,這樣其他人就能看到笛匙,也可以發(fā)twitter侨把,發(fā)布到App.net。我每周都要用好幾次這個應用妹孙。