github優秀開源項目大全-iOS

轉自:http://foggry.com/blog/2014/04/25/githubyou-xiu-xiang-mu-ios/


前言

  1. 本文旨在蒐集github上優秀的開源項目

  2. 本文蒐集的項目都是用於iOS開發

  3. 本文會持續更新…

完整客戶端

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
$ 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那神奇的動畫引擎,你懂得。。。

pop

facebook出品,基於Cocoa的KVO開發,提供簡單地使用方式,同時也是線程安全的。

通過method swizzling技術,能夠在一個類的現有方法執行之前或之後附加一個代碼片段(以block方式),能極大的方便我們調試。

十分強大的PDF開發框架,有異步加載、預覽、編輯、加標註等很多功能

使用簡單,功能強大的圖表工具

TEAChart

一個聯繫人搜索庫,支持的搜索方式包括:用戶名漢字、拼音及模糊搜索,號碼搜索,最重要的是支持T9搜索,做過通訊錄類應用的同學都懂的。我在項目裏用過,很贊。

應該是XMPP協議Objective-C實現的最好版本,小型開發者想做IM應用的好選擇,使用起來也很方便。

一個通用聊天界面框架,效果不錯,感謝作者的開源。這個框架後來被國內某無恥程序員修改成MessageDisplayKit,大有據爲己有之勢。

一個開發者積累多年的開發框架,值得看看。

幾何圖形框架,把AGGeometryKit和POP結合起來使用,可實現非常棒的動態和動畫。

IMQuickSearch是一個快速搜索工具,可以過濾包含多種自定義NSObject類的NSArray。

新加坡開發者honcheng實現的圖標製作框架,支持折線圖、餅狀圖等。

自定義view

仿照UITableView機制自己實現的一個自定義tableview,帶有詳細的說明文檔

很炫的帶有表格的視圖控制器切換效果,點擊每個欄目會有限帶有波浪效果的信息展示,類似於Facebook Paper

AMWaveTransition

又是facebook出的,可以讓view展示波光粼粼的效果

Shimmer

仿照系統的UICollectionView的API實現的collection view,支持ARC和iOS4.3+系統,可用於替代只能從iOS6開始支持的UICollectionView

各種形式在狀態欄展示信息,包括提示、進度等,展示格式和動畫方式也有好幾種。下圖只是以靜態方式展示其效果,更多詳情請點擊鏈接查看。

JDStatusBarNotification

一個球形3D標籤,能夠放大、縮小、拖動、點擊、自動旋轉。效果挺玄的,就是感覺有點卡,還有一定的優化空間。下圖截了一個靜態圖片:

SphereView

iOS7風格的側滑菜單,支持左右雙向側滑:

RESideMenu

一種在view的頂部彈出並會自動消失的通知類view,是toast的一種變形。目前開源中國的項目正在用該view。

大麥網iOS客戶端工程師開源的一個HUD view,

自定義的下拉菜單

能夠實現在多個圖層上以不同速度滑動的自定義ScrollView,可用於做軟件啓動時的help界面:

自定義的日曆,界面很簡潔,月份切換時動畫效果也不錯。

功能較齊全的attributed lable,支持attributed string和圖片、鏈接、控件的混排。

實現了相當炫的拉幕式的界面切換效果,其靈感來自CALayer的私有屬性meshTransform以及和其對應的CAMeshTransform

新浪微博開發者仿照Twitter的iOS客戶端中的效果實現的向下拉動滾動視圖,視圖頂端的圖片會隨着下拉而變大,並且帶有模糊的效果。

模仿系統郵件應用實現的聯繫人選擇界面。

一個扁平化的,能帶聲波效果的按鈕。

新加坡開發者honcheng實現的摺紙效果的界面切換,適合做電子書閱讀類應用。

新加坡開發者honcheng多媒體顯示view,支持html語法,應用非常廣泛。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章