前言
-
本文旨在蒐集github上優秀的開源項目ios
-
本文蒐集的項目都是用於iOS開發git
-
本文會持續更新…程序員
完整客戶端
github的iOS客戶端,目前開源代碼是V1版本,V2版本在appstore上能夠下載github
使用XMPP協議的IM開源軟件,很強大,在appstore上能夠下載sql
SegmentFault的官方iOS客戶端數據庫
開源中國社區oschina的官方iPhone客戶端,appstore已上線。早期地址在github上,後來遷移到OSChina本身的代碼託管平臺.macos
實現了日曆的基本功能,目前只支持iPad版本編程
美國白宮(WhiteHouse)的官方app,聽起來很高大上哈xcode
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 |
$ svn checkout http://gyp.googlecode.com/svn/trunk/ gyp-read-only $ cd gyp-read-only $ ./setup.py build $ sudo ./setup.py install |
安裝成功之後,再進入到clone下來的viewfineder源碼目錄,執行:
1
2 |
$ cd viewfinder/clients/ios $ gyp --depth=. -DOS=ios -Iglobals.gypi ViewfinderGyp.gyp |
這樣就能成功生成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/i386 framework
的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語法,應用很是普遍。