iOS 開發人員不可缺乏的75個工具


原文出處: Ben Scheirman
譯文出處: Njuxjyhtml


假設你去到一位熟練的木匠的工做室,你老是能發現他/她有一堆工具來完畢不一樣的任務。ios

軟件開發相同如此。你可以從軟件開發人員怎樣使用工具中看出他水準怎樣。git

有經驗的開發人員精於使用工具。github

對你眼下所使用的工具不斷研究。同一時候瞭解一些替代品的使用,當你眼下所用的工具沒法知足你的需要時可以填補空缺。sql

記住了這些,我將向你展現一份關於各類工具的長長的列表。當中一些我天天都用,其它的我看狀況使用。數據庫

假設你還有不少其它的工具想展現在這個列表裏。可以跟我留言哦親。編程

我盡我所能給列表分分類。有一些是站點。有些是後臺服務,但大多數是你可以裝的應用。vim

不是所有應用都是免費。所以我會用$符號來表示此應用是否要花錢。
廢話很少說,咱們當即開始。windows

靈感


  • pttrns – 一個很是棒的按任務分類的iOS屏幕設計圖庫。

    舉例來講,假設你想看其它應用怎樣處理活動feed,在這兒你可以找到一堆的樣例。xcode

  • TappGala – 還有一個很是棒的優美應用設計的集合站。它不是按任務來分類的,僅僅是一個優秀應用的列表,你可以在此獲取靈感。
  • Cocoa Controls – 一些很是棒的你可以用在你的iOS應用中的組件(代碼)的列表。有時你可以找到一段優秀代碼來節省時間,有時你也可以學習其它開發人員是怎樣完畢某個功能的。

    訂閱他們的每週一報吧,都是精華,極少糟粕。

  • IICNS – 真正優秀圖標的集合。

    獲取靈感吧,但不要抄襲。

  • Dribbble – 最優秀的設計師們在上面展現他們的做品。

    真正的精品。

  • Capptivate – 給人靈感的設計做品圖庫。

    有些帶有動畫。

設計


  • Mocks ($) – 一個簡單應用的高速建立iOS應用原型的工具。自帶一些默認控件。你可以高速搭建原型。

  • Briefs ($) – 一個很是實用的應用,可以讓你建立應用原型,將原型連起來造成交互。

    你可以部署到真實設備上,看看在你手上是什麼樣的感受。

  • Acorn ($) – Photoshop的有力競爭者。比ps廉價多了。我發現本身近期用Photoshop愈來愈少了。該項目在積極的開發維護中。

  • Sketch ($) – 一個基於矢量的繪圖工具,隨着屏幕尺寸和像素密度的改變,這個工具愈來愈實用。僅僅需要設計一次,而後可以依據需要進行縮放。同一時候還帶有一個很是強大的導出系統。

    對於Sketch演示樣例項目,請看Sketchmine。

  • iOS 7 PSD by Teehan+Lax – 假設你(或者你的設計師)用Photoshop的話,這是個超實用的資源。也有 iOS 6版本號的。

  • Bjango’s Photoshop Actions – 假設你用Photoshop來設計iOS應用的話絕對能幫你省時間。

    一次點擊便可重設畫布大小。縮放200%(或50%),設置全局亮度爲90等等。他們的 博客中也有不少Photoshop的工做技巧。

  • xScope ($) – 一把不可或缺的瑞士軍刀,指導,像素放大鏡,屏幕度量等等。想知道某個像素點的顏色值?想知道某個Mac應用的一個button和窗體之間有多少像素?xScope都能幫你。可以看下他們爲鏡像設計所開發的iPhone應用,看鏡像設計在你的蘋果設備上是多麼的像素完美。
  • Glyphish ($) – 一個很是讚的有很是多你的iOS應用可以使用的高質量圖標的集合。蘋果提供的內置圖標並很少,所有擁有這麼一個囊括各類概念的圖標集合很是實用。

    我還在尋找關於嬰兒的一些圖標。

    Glyphish是以包的形式公佈的,最新的包裏有iOS7的「細線條」圖標。當設計iOS7應用的時候很是實用。

  • Fontastic Icons for iOS – 一個使用圖標字體的開源類集合。好比iOS應用中的Font Awesome。可以在不論什麼像素維度上高速簡便的獲得一個圖標。因爲字體在本質上可以輕鬆縮放,用這樣的辦法可以很是方便的在不一樣平臺使用的圖標。而無需依據不一樣尺寸導出不一樣的版本號。
  • PaintCode ($) -一個基於向量的繪圖工具,可以將你的做品導出爲Core Graphics源碼。

    用來學習Core Graphics繪圖是很是棒的。同一時候假設你想要動態繪圖也是很是方便。

    個人screencast on PaintCode上有視屏演示。

  • Edge Insets ($) – 一個幫助你定義可重用圖片邊距的簡單工具。在Mac App Store上有售。

  • LiveView – 一個iOS上的遠程屏幕查看器。在你的設備上可以馬上輕鬆地看到你的設計圖。
  • Skala Preview ($) – 還有一個很是棒的可以在真實設備上高速看到你的設計圖的工具。Bjango的朋友們很是給力,這個應用物有所值。

源碼控制


  • Git – 假設你沒有使用源碼控制的話,停下手中的活馬上作出改變吧。我使用git作不論什麼事情,我超愛它的。
  • Kaleidoscope ($) – 最優秀的diff/merge工具。三路合併,看着很是美麗。我天天都用。
  • p4merge – 一個免費的、簡陋的Kaleidoscope的替代品。強大的三路合併功能。但找下載連接不easy啊。我每次要找的時候都認爲在他們站點上藏的很是深啊。
  • Git X – 一個簡單強大的GUI工具。可以看到git的時間線,輕鬆簡便地實現暫存區提交。

    我一般在終端上使用git,但當我需要將暫存區的改變作一次提交的時候就會想到這個應用。這是原來(已經廢棄)的GitX的一個衍生品,我在這個衍生品列表上找到的。

  • Source Tree – 一個免費功能很是全的Git應用。我沒用過是因爲我喜歡命令行的方式。但假設你喜歡用GUI工具的話,可以看看這個。

剖析應用


  • pngcrush – 這個實用工具可以壓縮解壓縮PNG文件。當你想那些App Store上應用裏的圖片時很是實用。僅僅要打開iTunes,查看本地應用列表。對圖標右鍵在Finder中打開。而後打開應用,你可以看到一堆PNG文件,但你無法查看它們。使用了pngcrush你可以將它們所有提取出來,而後用預覽來查看。
  • appcrush.rb – 這個很是方便的ruby腳本可以針對所有圖片將以上過程本身主動化。僅僅需將它指向你磁盤上的一個.app文件,它就會將所有圖片提取到你桌面上的一個目錄裏。很是方便地可以知道你手機上的應用怎樣完畢某些設計的。個人my screencast on dissecting apps上有視頻演示。

  • Charles ($, 免費功能受限的試用版) – 我不知道它的界面或者圖標爲什麼如此醜陋,但是Charles是對於不論什麼開發人員來講都很是重要的一個工具。Charles做爲一個代理,贊成你監視進出你iPhone模擬器的網絡流量。你相同可以經過將手機的代理設置爲你Mac上正在執行的Charles來監控你設備上的流量。字簽名的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。
  • OMColorSense - 還有一個Xcode插件,當你的光標停留在某個代碼行如:[UIColor redColor]上的時候。它會在一小塊區域裏展現出代碼中的顏色。

    點擊顏色選項卡會打開顏色選擇器。你在上面作的不論什麼改變都會在代碼裏獲得反映。對應代碼改成[UIColor colorWithRed:… green… blue… alpha:… ]。當我開着這個功能寫代碼。別人看到的時候老是問我:「哇哦!

    這是啥玩意。」

  • KSImageNamed - 還有一個Xcode插件,可以在你打下[UIImage imageNamed:…]的時候,本身主動補全bundle中圖片的文件名稱。有了它,就可以避免那些不當心打錯圖片名致使方法返回nil,而後你花10分鐘去檢查爲何圖片沒有展現出來的問題了。
  • CocoaPods Xcode Plugin - 這個插件添加了一個菜單項可以和CocoaPods交互。假設你不想用命令行的話很是實用。

  • Alcatraz Package Manager - 一個很是棒的元插件。可以讓你經過輕點鼠標輕鬆安裝其它的Xcode配色方案和插件。
  • Code Runner ($) – 一個輕量級的代碼感知文本編輯器,知道怎麼編譯和執行多種語言的代碼。

    想高速測試一段Objective-C代碼。又不想建立一整個Xcode項目?試試Code Runner吧。

文檔

啊哈。文檔,每個人最愛的話題。文檔很是重要。所以請注意一下。咱們可以讓你生活變得簡單一些。


  • appledoc - 想本身主動生成蘋果官方那樣的文檔嗎?不用再找了。本身主動在你的項目中定義超連接符號,使用特殊格式的代碼凝視來提取內容。生成正式文檔和HTML網頁。

  • Dash ($) – 一個必須擁有的API文檔查看器和代碼片斷管理器。它很是好用,贊成你下載並搜索各類語言和框架的API文檔,而且速度很是快。最快訪問文檔的方式。爲了使搜索更快。我把Dash和Alfred集成起來使用。

依賴管理

是的,這裏僅僅列舉了一個工具。我不想引入真正的第三方庫列表,因爲它們屬於全然不一樣的還有一個列表。


  • CocoaPods - 管理Objective-C項目的重要工具。

    贊成你輕鬆高速地將第三方庫集成到你的應用中。

    它是經過建立還有一個靜態庫project。而後本身主動連接到你的project來實現的。有成千上萬個可用的pod。可以輕鬆地爲你的項目添加那些不屬於你(或者私有)的第三方庫支持。我在個人每個項目裏都用了CocoaPods。

診斷&調試

有時候咱們正在開發應用,咱們想更好的瞭解究竟發生了什麼,修bug或者改善性能。


  • Cocoa Lumberjack - 一個更強大的NSLog,Cocoa Lumberjack提供了高級日誌行爲,比方記錄日誌到文件、網絡,依據日誌級別來篩選(info,debug,warn,error)。

    NSScreencast Episode 61中有提到。

  • DCIntrospect - 當你在模擬器上調試的時候連接到你應用中的超強大的工具。

    一旦你這麼作了,你可以按下空格鍵來取得一些很是實用的視圖調試支持。查看屏幕上視圖元素的精確維度,打印視圖層次,甚至水平或垂直移動視圖。

  • Pony Debugger - 還有一個你可以嵌入一個庫到你調試版本號中的工具。Pony Debugger實際上使用了Chrome的開發工具來查看設備上發出的網絡請求。還有一個主要的Core Data瀏覽器。

    很是難描寫敘述。請看個人screencast on Pony Debugger吧。

  • Runscope ($) – Runscope是一個網絡服務,可以捕捉請求,記錄日誌,給你關於你的API的實用數據。因爲它是個HTTP通道API, 搭建簡單,你僅僅需要更換你的主機名便可了。
  • SimPholders - 高速簡單的訪問你的模擬器目錄。依據iOS版本號來瀏覽,而後是應用名,可以直接在Finder中打開目錄。
  • Spark Inspector - 在調試模式執行你的應用時,可以用3D來展現調試你的視圖層次。

    這個應用你真的要看到了纔會真正明確它的價值。它能幫助你瞭解你的應用是由哪些視圖組成的。它還帶有一個通知中心監視器。你可以輕鬆看到發出了哪些NSNotification,誰在觀察它們。還有一個監控NSNotification的應用是Reveal

圖像


  • ImageAlpha - 一個Mac應用。可以讓你將24位帶透明度的PNG圖轉成8位的帶alpha通道的PNG圖。

    一般8位PNG圖不帶有alpha通道,所以假設你的圖片可以用8位來表示(比方一個單色的button)的話,你可以經過把25位PNG轉成8位的來節省很是多空間。

  • ImageOptim - 還有一個Mac應用。可以壓縮PNG圖片來節省空間。

    大多數PNG文件可以省掉幾個百分點的大小,有時甚至30%或不少其它。圖片更小意味着應用尺寸更小,執行時載入它們所使用的內存也更小。

  • Prepo - 一個Mac上的小應用,可以將圖片高速變換爲你需要的多個尺寸。僅僅需要拖動一個大圖標文件(比方。1024*1024)到Prepo,它就會生成512*512的iTunesArtwork,114*114的 Icon@2x.png。以及其它的尺寸和文件名稱。
  • Slender ($) -一個很是棒的應用。可以分析你的應用,找出各類問題,比方缺乏視網膜屏的圖片。沒用到的圖片,能壓縮的圖片。使用Slender去除掉那些無用的圖片,可以爲你的iPhone應用節省好多空間。

Core Data


  • Mogenerator - 一個超實用的工具,在你的Core Data模型中生成NSManagedObjects智能子類。

    有些人使用Xcode完畢這功能,經過手動子類化或者建立分類來爲模型添加邏輯。Mogenerator做爲預編譯腳本執行來生成你可以使用的子類。它經過建立帶有下劃線的版本號(_User)以及正常你可以改動的版本號(User)來實現。

  • Base ($) – 你確定會需要查看你的Core Data sqlite數據庫來檢查發生了什麼。你可以使用sqlite3命令行工具,但Base給了你一個方便查看的GUI瀏覽器。當你看到Core Data爲你建立的數據庫schema時你可不要吐哦。

  • Core Data Editor ($) -對於一些更高級的數據分析、發掘以及改動,你可以使用Core Data Editor。

    這個應用瞭解Core Data。所以你是在直接和實體打交道。而不是數據庫行。

後臺服務

終於你的iOS應用很是可能會和server通訊分享數據、獲取新內容、發送推送通知等等。

儘管你都可以手動去作,但你也許想要更方便的解決方式。


  • Helios - Helios是一個開源的框架,爲iOS應用提供了基礎的後臺服務。從數據同步、推送通知到應用內購買以及passbook集成。它創建在不少開源ruby gem的基礎上,所以假設你想要的話可以挑選構建你本身的棧。

    看一下Nomad CLI。有很是多好用的相關工具。

  • Windows Azure Mobile Services - 你可以把它想象成在雲端的一個可編程數據庫。建表,用JavasScript來讀取、插入、刪除,添加額外的功能。實現推送通知至關簡單。

  • Urban Airship - 很是easy集成,用戶量不大的話是免費的。
  • Parse - 這是還有一個雲端數據服務,但是它提供了很是多API以及有一個在線數據瀏覽器。咱們一個很是小的應用用了Parse,感受不錯。

分析

這裏還有些別的選擇,但沒有一個讓我認爲有衝動把flurry換掉的。


  • Flurry - 我用flurry很是長時間了,它可以提供用戶使用個人應用的實用的分析數據。想知道何時可以中止支持iOS5麼?Flurry會給你數據供大家討論。

部署


  • Deploymate ($) – 還需要支持iOS4,但是你在用iOS6 SDK編譯?當你使用了一些在你的部署目標上不存在的符號時。Deploymate會警告你的。
  • Cupertino - Nomad CLI工具之中的一個,Cupertino爲你提供了命令行接口來管理蘋果Provisioning Portal上的設備及profile。舉例來講,僅僅要鍵入ios devices:list就可以看到你賬號裏的當前設備列表。可以用來本身主動化不少過程。
  • Hockey App ($) – 管理你ad-hoc版本號公佈的不錯服務。測試人員可以獲得一個連接,無線安裝新的測試版本號。它還提供了健壯的崩潰報告功能。你可以輕鬆應對你應用中的崩潰。

  • TestFlight - 一個類似於Hockey App的免費應用。咱們使用TestFlight已經取得了很是大成功,輕鬆公佈應用,從用戶那收集反饋。我惟一但願他們能對這個服務進行收費。它還包含了分析和崩潰報告功能,但咱們沒實用到那些功能。
  • iOS Simulator Cropper - 一個拍模擬器屏幕快照的簡單方法,可以選擇帶或者不帶狀態欄,帶或者不帶機器外殼等等。對於App Store或者普通市場上的一些截屏很是實用。

  • Status Magic ($) – 拍出更好的app store截屏圖。沒有什麼比App Store上帶有低電量或者低信號標識的截屏圖更讓你的應用看起來糟糕的了。Status Magic讓你充分定製你的狀態欄,包含去除一些元素,把時間改爲蘋果喜歡的「9:41 AM」那樣,等等。
  • Crashlytics -對於你正在開發中的應用來講是個很是棒的崩潰報告工具。

    在公佈版裏本身主動上傳dSYM文件,所以你的崩潰日誌會爲你本身主動符號化並組織好,你可以專一於最關鍵的部分。

測試

我認爲咱們做爲一個社區對測試關注得還不夠。

有很是多不錯的工具可用。大多數都很是好用,咱們沒有藉口不爲咱們的應用寫一些測試。


  • Kiwi - 一個不錯的Rspec風格的iOS測試框架。基於SenTestingKit創建。所以你僅僅需按下⌘U來執行你的用例。它相同帶有健壯的mocking以及stubbing庫和斷言。
  • Specta -一個類似於Kiwi的輕量級BDD框架,但是它的expectation語法有一個比Kiwi好的地方:每個變量都隱式裝箱:expect(items.count).to.equal(5)。

    不需要像Kiwi那樣將5包裝成NSNumber。

    和Expecta搭配使用效果更好。

下面的幾個都可以用來執行端到端的驗收測試。這些測試會和你的界面交互,點擊button,滾動。等等。儘管上它們執行會比較慢,但是在大範圍內測試會更easy看到所有的模塊整合的是否良好。

演示/市場


  • Reflector ($) – 將你的iOS設備經過Air Play鏡像到你的Mac上。很是適合在你的電腦上作應用演示
  • Placeit - 一些關於人們使用設備的高分辨率的圖的集合。但是設備可以由你上傳的截屏圖來定製。很是酷,很是適合在你站點上優雅地展現你的應用。

應用銷售報告

你固然想要知道你的應用能賺多少錢,不是麼?有一些解決方式,這兒有些還不錯的:


  • App Viz 2 ($) – 一個很是實用的Mac應用,可以跟蹤你應用的銷量。你在本地執行它,它會登陸並下載你的銷售報告。
  • App Annie - 一個在線的銷售報告工具。

    我不太樂意把個人認證信息交給除了iTunes之外的第三方。但它確實能確保你的報告是最新的。你無需在本地執行一個程序。

摸彩袋

這些工具沒有一個定義好的分類,但值得一提。


  • Quick Radar - 提交bug報告給蘋果。是咱們惟一可以幫助他們改善工具的辦法。

    假設你因爲缺乏某個功能感到萬分沮喪,你可以提交一個bug報告。假設你遇到了一個bug,你相同可以。假設他們沒有雷達的話,用戶尚未抱怨的權利:)所以,經過bugreporter來提交bug報告的話好像又回到了1995年。Quick Radar是一個很是讚的應用。它可以使提交bug報告變得超級簡單。本身主動公佈到開放的雷達,這樣其它人就能看到,也可以發twitter,公佈到App.net。我每週都要用好幾回這個應用。

好了就這麼多。滿滿一牆的工具。但願你之後碰到新工具也能添加到你的兵器庫裏。假設你喜歡這篇文章,可以在NSScreencast裏看下個人iOS屏幕錄像。

相關文章
相關標籤/搜索