前言
-
本文旨在蒐集github上優秀的開源項目
-
本文蒐集的項目都是用於iOS開發
-
本文會持續更新…
完整客戶端
github的iOS客戶端,目前開源代碼是V1版本,V2版本在appstore上可以下載
使用XMPP協議的IM開源軟件,很強大,在appstore上可以下載
SegmentFault的官方iOS客戶端
開源中國社區oschina的官方iPhone客戶端,appstore已上線。早期地址在github上,後來遷移到OSChina自己的代碼託管平臺.
實現了日曆的基本功能,目前只支持iPad版本
美國白宮(WhiteHouse)的官方app,聽起來很高大上哈
Ruby China的官方app
一款不錯的日程管理軟件,Appstore上能下載
第三方twitter客戶端,不過作者上傳後至今5年了都沒更新過。。。
移動支付公司Square在其工程博客上宣佈,基於Apache 2.0許可協議,開源了於去年12月初收購的照片管理和共享應用Viewfinder,包括Viewfinder服務器、Android和iOS應用在內的25萬行代碼已託管到GitHub上。 對此,Square工程師Peter Mattis在工程博客上表示,Square之所以考慮到將Viewfinder的完整代碼公之於衆,是希望能夠與人方便,讓開發者在應用開發過程中可以加以利用或作爲參考。儘管Square團隊並沒有爲Viewfinder提供技術支持,也沒有進行Bug修復,但此舉還是贏得了滿堂喝彩一致點贊。
Viewfinder包含了許多非常有趣的代碼,對於開發者來說,絕對是大大的Surprise,主要如下:
. Viewfinder服務器提供了一個擁有各種Amazon DynamoDB索引選項的結構化數據庫架構。 . 服務器還提供了數據庫和協議層版本控制支持。 . 在本地元數據存儲方面,Viewfinder客戶端使用LevelDB,相比CoreData,更易於使用,也相當便捷。 . 內置可直接運行於移動設備上的全文本搜索引擎,支持聯繫人和圖片搜索。 . 使用GYP生成Xcode項目文件和Android構建文件。 . 支持C++模板元編程,可使用C++11可變參數模板根據C++方法自動計算Java方法簽名。
該段介紹出自這裏。
viewfinder使用GYP生成Xcode的工程文件,生成方式如下:
首先要安裝GYP,執行以下步驟:
1 2 3 4 |
|
安裝成功以後,再進入到clone下來的viewfineder源碼目錄,執行:
1 2 |
|
這樣就能成功生成Xcode工程文件了,不過需要通過ViewfinderGyp.xcodeproj
文件打開工程。
Hacker
News
的iPhone客戶端
iOS資深開發者羅朝輝做的一款應用,《美式英語》的iPhone版本
使用新浪微博開放平臺做的微博客戶端,做工略顯粗糙,作者也有幾個月沒更新了。
AppStore上線產品,中文名稱已閱
。一個iOS設備上的RSS/Atom閱讀器,剛成立的項目,還有很多有待完善的地方。
Xcode插件
用於在Xcode中管理CocoaPods依賴庫
方便實現代碼對其功能,使代碼風格統一
一個輔助代碼編輯插件。支持高亮選中、批量選中方法和方法名、根據選中的方法批量生成方法聲明、高亮正則搜索等功能。
一個神奇的Xcode 插件,能讓應用在運行的時候做出的小的改變立馬體現效果,而不需要重新編譯。。。
以圖形化界面管理Xcode插件的插件。
當輸入[NSImage
imageNamed:
或者[UIImage
imageNamed:
時,會自動補全工程中可用的圖片名稱,同時能提供選中圖片的預覽。
能以圖形界面列表的形式列出代碼中添加了TODO
,FIXME
,???
,!!!!
標識的項目,方便解決軟件中備註的未解決問題。另外,能查找的還不只上述四種標識,用戶可以自己添加想支持的標識。
快速查找工程中的文件、代碼等資源,和Xcode5自帶的Open
Quickly
功能相似。
提供了爲代碼增加註視的最快捷方式,是我使用頻率最高的插件,貓神出品。
工具
能詳細打印出一個某個方法被調用的堆棧,方便調試時定位問題
在上傳AppStore時需要填寫app的描述信息,此軟件能很方便的填寫這些信息。
facebook出的自動編譯工具,不像xcodebuild,它能夠整潔的打印出日誌
用於生成兼容armv6/armv7/i386framework
的Xcode工程模版:
對訪問iOS Keychain的封裝庫。
這是目前我已知的唯一一個支持對SQLite加密的免費開源庫,對應的有收費版本。本開源庫實現了對SQLite開源免費版本中未實現的加密接口,同時做了一定的擴展。使用的是256位AES加密方式。
強烈推薦!
AFNetworking
作者、mattt大神開源的常用Xcode代碼片段。
開發框架
facebook那神奇的動畫引擎,你懂得。。。
facebook出品,基於Cocoa的KVO開發,提供簡單地使用方式,同時也是線程安全的。
通過method swizzling技術,能夠在一個類的現有方法執行之前或之後附加一個代碼片段(以block方式),能極大的方便我們調試。
十分強大的PDF開發框架,有異步加載、預覽、編輯、加標註等很多功能
使用簡單,功能強大的圖表工具
一個聯繫人搜索庫,支持的搜索方式包括:用戶名漢字、拼音及模糊搜索,號碼搜索,最重要的是支持T9搜索,做過通訊錄類應用的同學都懂的。我在項目裏用過,很贊。
應該是XMPP協議Objective-C實現的最好版本,小型開發者想做IM應用的好選擇,使用起來也很方便。
一個通用聊天界面框架,效果不錯,感謝作者的開源。這個框架後來被國內某無恥程序員修改成MessageDisplayKit,大有據爲己有之勢。
一個開發者積累多年的開發框架,值得看看。
幾何圖形框架,把AGGeometryKit和POP結合起來使用,可實現非常棒的動態和動畫。
IMQuickSearch是一個快速搜索工具,可以過濾包含多種自定義NSObject類的NSArray。
新加坡開發者honcheng
實現的圖標製作框架,支持折線圖、餅狀圖等。
自定義view
仿照UITableView機制自己實現的一個自定義tableview,帶有詳細的說明文檔
很炫的帶有表格的視圖控制器切換效果,點擊每個欄目會有限帶有波浪效果的信息展示,類似於Facebook Paper
又是facebook出的,可以讓view展示波光粼粼的效果
仿照系統的UICollectionView的API實現的collection view,支持ARC和iOS4.3+系統,可用於替代只能從iOS6開始支持的UICollectionView
各種形式在狀態欄展示信息,包括提示、進度等,展示格式和動畫方式也有好幾種。下圖只是以靜態方式展示其效果,更多詳情請點擊鏈接查看。
一個球形3D標籤,能夠放大、縮小、拖動、點擊、自動旋轉。效果挺玄的,就是感覺有點卡,還有一定的優化空間。下圖截了一個靜態圖片:
iOS7風格的側滑菜單,支持左右雙向側滑:
一種在view的頂部彈出並會自動消失的通知類view,是toast的一種變形。目前開源中國的項目正在用該view。
大麥網iOS客戶端工程師開源的一個HUD view,
自定義的下拉菜單
能夠實現在多個圖層上以不同速度滑動的自定義ScrollView,可用於做軟件啓動時的help界面:
自定義的日曆,界面很簡潔,月份切換時動畫效果也不錯。
功能較齊全的attributed lable,支持attributed string和圖片、鏈接、控件的混排。
實現了相當炫的拉幕式的界面切換效果,其靈感來自CALayer的私有屬性meshTransform
以及和其對應的CAMeshTransform
。
新浪微博開發者仿照Twitter的iOS客戶端中的效果實現的向下拉動滾動視圖,視圖頂端的圖片會隨着下拉而變大,並且帶有模糊的效果。
模仿系統郵件應用實現的聯繫人選擇界面。
一個扁平化的,能帶聲波效果的按鈕。
新加坡開發者honcheng
實現的摺紙效果的界面切換,適合做電子書閱讀類應用。
新加坡開發者honcheng
多媒體顯示view,支持html語法,應用非常廣泛。