iOS 開發者必知的 75 個工具

若是你去到一位熟練的木匠的工做室,你老是能發現他/她有一堆工具來完成不一樣的任務。
  軟件開發一樣如此。你能夠從軟件開發者如何使用工具中看出他水準如何。有經驗的開發者精於使用工具。對你目前所使用的工具不斷研究,同時瞭解一些替代品的使用,當你目前所用的工具沒法知足你的須要時能夠填補空缺。
  記住了這些,我將向你展現一份關於各類工具的長長的列表。其中一些我天天都用,其餘的我看狀況使用。若是你還有更多的工具想展現在這個列表裏,能夠跟我留言哦親。
  我盡我所能給列表分分類。有一些是網站,有些是後臺服務,但大多數是你能夠裝的應用。不是全部應用都是免費,所以我會用$符號來表示此應用是否要花錢。
  廢話很少說,咱們立刻開始。
  靈感html

  • pttrns - 一個很棒的按任務分類的 iOS 屏幕設計圖庫。舉例來講,若是你想看其餘應用如何處理活動 feed,在這兒你能夠找到一堆的例子。
  • TappGala - 另外一個很棒的優美應用設計的集合站。它不是按任務來分類的,只是一個優秀應用的列表,你能夠在此獲取靈感。
  • Cocoa Controls - 一些很棒的你能夠用在你的 iOS 應用中的組件(代碼)的列表。有時你能夠找到一段優秀代碼來節省時間,有時你也能夠學習其餘開發者是如何完成某個功能的。訂閱他們的每週一報吧,都是精華,極少糟粕。
  • IICNS - 真正優秀圖標的集合。獲取靈感吧,但不要抄襲。
  • Dribbble - 最優秀的設計師們在上面展現他們的做品。真正的精品。
  • Capptivate - 給人靈感的設計做品圖庫。有些帶有動畫。感謝你,@joaopmaia!

  設計ios

  • Mocks ($) – 一個簡單應用的快速建立 iOS 應用原型的工具。自帶一些默認控件,你能夠快速搭建原型。
  • Briefs ($) – 一個頗有用的應用,可讓你建立應用原型,將原型連起來造成交互。你能夠部署到真實設備上,看看在你手上是什麼樣的感受。
  • Acorn ($) – Photoshop 的有力競爭者,比 ps 便宜多了。我發現本身最近用 Photoshop 愈來愈少了。該項目在積極的開發維護中。
  • Sketch ($) - 一個基於矢量的畫圖工具,隨着屏幕尺寸和像素密度的改變,這個工具愈來愈有用。只須要設計一次,而後能夠根據須要進行縮放。同時還帶有一個很強大的導出系統。對於 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 都能幫你。能夠看下他們爲鏡像設計所開發的 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 上的遠程屏幕查看器,在你的設備上能夠立馬輕鬆地看到你的設計圖。謝謝你,@_funkyboy!
  • Skala Preview ($) – 另外一個很棒的能夠在真實設備上快速看到你的設計圖的工具。Bjango 的朋友們很給力,這個應用物有所值。謝謝你,jn40!

  源代碼控制git

  • Git - 若是你沒有使用源代碼控制的話,停下手中的活立馬作出改變吧。我使用 git 作任何事情,我超愛它的。
  • Kaleidoscope ($) – 最棒的 diff/merge 工具。三路合併,看着很漂亮。我天天都用。
  • p4merge - 一個免費的、簡陋的 Kaleidoscope 的替代品。強大的三路合併功能,但找下載連接不容易啊。我每次要找的時候都以爲在他們網站上藏的很深啊。
  • Git X - 一個簡單強大的 GUI 工具,能夠看到 git 的時間線,輕鬆簡便地實現暫存區提交。我一般在終端上使用 git,但當我須要將暫存區的改變作一次提交的時候就會想到這個應用。這是原來(已經廢棄)的 GitX 的一個衍生品,我在這個衍生品列表上找到的。
  • Source Tree - 一個免費功能很全的 Git 應用。我沒用過是由於我喜歡命令行的方式,但若是你喜歡用 GUI 工具的話,能夠看看這個。

  剖析應用github

  • 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 的恩恩怨怨來看,我相信頗有必要來考慮下有哪些替代品。web

  • AppCode - Jetbrains(ReSharper for .NET 的製做公司)的一款功能全面的 IDE。強大的重構工具和功能能夠幫助你更快地寫代碼。快速識別死代碼,當你使用了相關代碼時自動插入#import 語句,輕鬆選取變量、方法以及類。我惟一但願的是它能成爲 Xcode 的一個插件。
  • Vim - 等一下, vim?真的麼?確實是真的,有人在 vim 裏作全部的 Objective-C 開發。我並非其中之一,但我喜歡用 vim 開發 ruby。就由於如此,我很喜歡…
  • Xvim -  一個 Xcode 插件,能使用 vim 中的 keybindings。感受不錯,‘nuff 說。
  • 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 吧。

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

  • appledoc - 想自動生成蘋果官方那樣的文檔嗎?不用再找了。自動在你的項目中定義超連接符號,使用特殊格式的代碼註釋來提取內容。生成正式文檔和 HTML 網頁。
  • Dash ($) – 一個必須擁有的 API 文檔查看器和代碼片斷管理器。它很好用,容許你下載並搜索各類語言和框架的 API 文檔,並且速度很快。最快訪問文檔的方式。爲了使搜索更快,我把 Dash 和 Alfred 集成起來使用

  依賴管理
  是的,這裏只列舉了一個工具。我不想引入真正的第三方庫列表,由於它們屬於徹底不一樣的另外一個列表。當咱們談到依賴管理的時候,最最重要的就是:數據庫

  • CocoaPods -  管理 Objective-C 項目的重要工具。容許你輕鬆快速地將第三方庫集成到你的應用中。它是經過建立另外一個靜態庫工程,而後自動連接到你的工程來實現的。有成千上萬個可用的 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

  圖像vim

  • ImageAlpha - 一個 Mac 應用,可讓你將 24 位帶透明度的 PNG 圖轉成 8 位的帶 alpha 通道的 PNG 圖。一般 8 位 PNG 圖不帶有 alpha 通道,所以若是你的圖片能夠用 8 位來表示(好比一個單色的按鈕)的話,你能夠經過把 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 Datawindows

  • 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 應用極可能會和服務器通訊分享數據、獲取新內容、發送推送通知等等。雖然你均可以手動去作,但你或許想要更方便的解決方案。

  • Helios - Helios 是一個開源的框架,爲 iOS 應用提供了基礎的後臺服務,從數據同步、推送通知到應用內購買以及 passbook 集成。它創建在許多開源 ruby gem 的基礎上,所以若是你想要的話能夠挑選構建你本身的棧。看一下Nomad CLI,有不少好用的相關工具。
  • Windows Azure Mobile Services - 你能夠把它想象成在雲端的一個可編程數據庫。建表,用 JavasScript 來讀取、插入、刪除,增長額外的功能。實現推送通知至關簡單。
  • Urban Airship - 我如今在用 Urban Airship 來實現推送通知。很容易集成,用戶量不大的話是免費的。
  • 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 搭配使用效果更好。

  如下的幾個均可以用來執行端到端的驗收測試。這些測試會和你的界面交互,點擊按鈕,滾動,等等。雖然上它們運行會比較慢,可是在大範圍內測試會更容易看到全部的模塊整合的是否良好。

   演示/市場

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

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

  • App Viz 2 ($) – 一個頗有用的 Mac 應用,能夠跟蹤你應用的銷量。你在本地運行它,它會登陸並下載你的銷售報告。
  • App Annie - 一個在線的銷售報告工具。我不太樂意把個人認證信息交給除了 iTunes 之外的第三方,但它確實能確保你的報告是最新的,你無需在本地運行一個程序。在評論中,Josh Brown 建議能夠建立另外一個用戶用於 iTunes Connect 中的分析,這個主意不錯。

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

  • Quick Radar - 提交 bug 報告給蘋果,是咱們惟一能夠幫助他們改善工具的辦法。若是你因爲缺乏某個功能感到萬分沮喪,你能夠提交一個 bug 報告。若是你遇到了一個 bug,你一樣能夠。若是他們沒有雷達的話,用戶尚未抱怨的權利:)所以,經過 bugreporter 來提交 bug 報告的話好像又回到了 1995 年。Quick Radar 是一個很讚的應用,它可使提交 bug 報告變得超級簡單。自動發佈到開放的雷達,這樣其餘人就能看到,也能夠發 twitter,發佈到 App.net。我每週都要用好幾回這個應用。

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

原文連接:http://news.cnblogs.com/n/186518/

相關文章
相關標籤/搜索