學科:IOS/Library

來自維基學院

歡迎補充各庫的介紹。界面庫在另一個頁面

綜合[編輯 | 編輯原始碼]

Nimbus - The iOS framework whose growth is bounded by O(documentation)

針對Three20文檔不足產生的……
GitHub: jverkoey/nimbus
協議:The Apache License, Version 2.0


SSToolkit

SSToolkit is a collection of well-documented iOS classes for making life easier by solving common problems all iOS developers face. Some really handy classes are SSCollectionView, SSGradientView, SSSwitch, and many more.
GitHub: samsoffes/sstoolkit
協議:The MIT license


TapkuLibrary

TapkuLibrary is an iOS library built on Cocoa and UIKit intended for broad use in applications. If you're looking to see what the library can do, check out the demo project included. Some major components include coverflow, calendar grid, network requests and progress indicators.
協議:The MIT license


圖形[編輯 | 編輯原始碼]

core-plot

Core Plot is a plotting framework for Mac OS X and iOS. It provides 2D visualization of data, and is tightly integrated with Apple technologies like Core Animation, Core Data, and Cocoa Bindings.
協議:New BSD License


Filtrr for iOS

An iOS Image filter library based on Alex Michael's filtrr.js
協議:The MIT license


SVGKit

SVGKit is a Cocoa framework for rendering SVG files as Core Animation layers. All shapes are represented by instances of the CAShapeLayer class, and are, by design, animatable.
協議:The MIT license


GPUImage framework

The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImage allows you to write your own custom filters, supports deployment to iOS 4.0, and has a simpler interface. However, it currently lacks some of the more advanced features of Core Image, such as facial detection.
For massively parallel operations like processing images or live video frames, GPUs have some significant performance advantages over CPUs. On an iPhone 4, a simple image filter can be over 100 times faster to perform on the GPU than an equivalent CPU-based filter.
協議:BSD


UIImage+PDF

UIImage+PDF provides a UIImage class category method to render a UIImage from any PDF stored in the application bundle. The motivation for this was to enable the easy use of scaleable vector assets in iOS apps.
協議:未知 —— 04:06, 13 March 2012 (UTC)


遊戲[編輯 | 編輯原始碼]

cocos2d - a framework for building 2D games, demos, and other graphical/interactive applications.

協議:BSD License
cocos2d for iphone


相關的開源遊戲:

FPSControls

算是個使用 SceneKit 和 Swift 的 demo
協議: https://github.com/nicklockwood/FPSControls/blob/master/LICENCE.md

網絡[編輯 | 編輯原始碼]

MKNetworkKit - Full ARC based Networking Kit for iOS 4+ devices

MKNetworkKit is inspired by the other two popular network frameworks ASIHTTPRequest and AFNetworking. Mostly ASI, to some extent, AFNetworking. I've been an unofficial "evangelist" of ASIHTTPRequest till the plug was pulled.
協議:The MIT license


ASIHTTPRequest

不推薦繼續使用
協議:BSD


RestKit

RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. It combines a clean, simple HTTP request/response API with a powerful object mapping system that reduces the amount of code you need to write to get stuff done.
GitHub: RestKit/RestKit
協議:The Apache License Version 2.0


SDWebImage

UIImageView的類擴展,增加了異步帶緩存的圖像下載
協議:The MIT license


ImageScout

通過儘可能優化的網絡請求判斷一個遠程圖片的大小和類型
協議:The MIT license


AFNetworking 及其擴展[編輯 | 編輯原始碼]

AFNetworking

文檔:http://afnetworking.org/Documentation/
協議:The MIT license


AFHARchiver

An AFNetworking extension to automatically generate HTTP Archive files of all of your network requests
協議:The MIT license


AFURLConnectionByteSpeedMeasure

Extends AFNetworking with the ability to measure connection speed and estimate completion time.
協議:The MIT license


WebView[編輯 | 編輯原始碼]

SVWebViewController

A simple inline browser for iOS. The iPhone UI is highly based on Tweetie’s inline browser, and the iPad version on Reeder.
協議:The MIT license


CIALBrowser

跟SVWebViewController類似,帶地址欄,支持收藏夾、打印、鏈接長按。
協議:The MIT license


TGJSBridge - a lightweight javascript bridge to cocoa

這個庫提供了簡單的Objective-C與Javascript通過消息通訊的功能
協議:BSD License


WebViewJavascriptBridge - An iOS bridge for sending messages to and from javascript in a UIWebView

協議:The MIT license


社會化[編輯 | 編輯原始碼]

ShareKit : Drop-in Share Features for all iOS Apps

支援知名海外互聯網服務、服務自定義、離線分享、外觀訂製,支持圖像、文件分享。
協議:The MIT license
GitHub: ShareKit/ShareKit


Twitter-OAuth-iPhone - An easy way to get Twitter authenticating with OAuth on iPhone

The goal of this was to create a drop-in code package for iPhone apps that want to access Twitter via OAuth. The main benefit here is that the source line on the Twitter page will say your app name, rather than "from web".
協議:BSD

數據存儲與處理[編輯 | 編輯原始碼]

JSONModel - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes

不用反覆寫重複的代碼了。
協議:The MIT license


RestKit

RestKit is a modern Objective-C framework for implementing RESTful web services clients on iOS and Mac OS X. It provides a powerful object mapping engine that seamlessly integrates with Core Data and a simple set of networking primitives for mapping HTTP requests and responses built on top of AFNetworking. It has an elegant, carefully designed set of APIs that make accessing and modeling RESTful resources feel almost magical.
協議:The Apache License, Version 2.0


ParseKit - Cocoa Objective-C Framework for parsing, tokenizing and language processing

協議:The MIT license


Core Data[編輯 | 編輯原始碼]

MagicalRecord

MagicalRecord was inspired by the ease of Ruby on Rails' Active Record fetching. The goals of this code are:
  • Clean up my Core Data related code
  • Allow for clear, simple, one-line fetches
  • Still allow the modification of the NSFetchRequest when request optimizations are needed
協議:The MIT license


mogenerator + Xmo'd

mogenerator is a command-line tool that, given an .xcdatamodel file, will generate two classes per entity. The first class, _MyEntity, is intended solely for machine consumption and will be continuously overwritten to stay in sync with your data model. The second class, MyEntity, subclasses _MyEntity, won't ever be overwritten and is a great place to put your custom logic.
協議:The MIT license


Objective-Record

A lightweight Active Record - style of managing CoreData objects.
協議未知 --BB9z (talk) 07:15, 23 August 2012 (UTC)

SQLite[編輯 | 編輯原始碼]

FMDB - an Objective-C wrapper around SQLite

封裝類
協議:The MIT license


EGODatabase

EGODatabase is a thread-safe Objective SQLite wrapper created by enormego. After extensively using FMDB in our applications, we saw a lot of room for improvements, the biggest was making it thread-safe. EGODatabase uses some code from FMDB, but for the most part, it was completely reworked to use result sets and row objects. A major difference between FMDB and EGODatabase is when selecting data, EGODatabase populates its EGODatabaseRow class with the data from SQLite, as opposed to retaining the SQLite results like FMDB does.
EGODatabase is tested to work with with iPhone OS and Mac OS X 10.5
基於FMDB的擴展,賣點是線程安全和支持異步調用
協議:The MIT license


iCloud[編輯 | 編輯原始碼]

MKiCloudSync

使用 NSUbiquitousKeyValueStore 同步 UserDefaults。
這個庫不複雜,可用於參考學習,但不推薦實際使用,而且已經很久未維護了。推薦 https://github.com/a2/MKiCloudSync 這個fork版本,增加了對特定key的忽略、清理、狀態管理。--BB9z (talk) 07:20, 30 November 2012 (UTC)

特定文件/對象處理[編輯 | 編輯原始碼]

PDF[編輯 | 編輯原始碼]

Reader - PDF Reader/Viewer for iOS

Demo設計漂亮,功能也不錯。多線程渲染,文字顯示平滑。支持加密文檔與URI跳轉。iBook風格的文檔導航,頁面縮略圖導航,支持全設備方向,書籤、郵寄文檔、打印……
協議:The MIT license


leaves - An iBooks-like page-turning interface for iPhone and iPad apps using only public APIs.

3D翻頁特效。除了PDF,還支持圖像及文本內容的翻頁顯示。不支持PDF交互。
似乎不支持縮放?已停止更新 BB9z 11:37, 7 February 2012 (UTC)
協議:The MIT license


二維碼[編輯 | 編輯原始碼]

zxing - Multi-format 1D/2D barcode image processing library with clients for Android, Java

Android為主的項目,iOS支持比較有限,只支持QR碼。
協議:The Apache License 2.0


音頻[編輯 | 編輯原始碼]

Audio Kit

Open-source audio synthesis, processing, & analysis platform. 混音處理庫
協議:LGPL V3

其他[編輯 | 編輯原始碼]

libextobjc

A Cocoa library to extend the Objective-C programming language.
協議:The MIT license


RegexKit Framework - Regular Expressions for Objective-C

協議:BSD license


SecureUDID

不是設備唯一的,而對於每個應用來說是唯一的,即使OS升級。使用Domain和Salt生成UDID,如果多個應用使用相同的Domain和Salt會生成一樣的UDID。
GitHub: crashlytics / secureudid
協議:The MIT license


MAZeroingWeakRef - Zeroing weak references for retain/release Objective-C

非官方弱引用機制的實現
協議:BSD license

效率輔助[編輯 | 編輯原始碼]

BlocksKit - The Objective-C block utilities you always wish you had

Blocks in C and Objective-C are downright magical. They make coding easier and potentially quicker, not to mention faster on the front end with multithreading and Grand Central Dispatch. BlocksKit hopes to facilitate this kind of programming by removing some of the annoying - and, in some cases, impeding - limits on coding with blocks.
BlocksKit is a framework andr static library for iOS 4.0+ and Mac OS X 10.6+.
非常全面、實用的工具庫
協議:The MIT license


BlockInjection - Insert some Blocks before and after the method like Aspect Oriented Programming.

用 block 替代原有方法已經比較常見了,這個更進一步,可以在原有方法執行之前或之後執行給定的block
協議:The MIT license


ConciseKit - A set of Objective-C additions and macros that helps you write code more quickly

神似jQuery,包含Method Swizzling,waitUntil工具,單例快速實現、使用,一套快速創建數組、字典的擴展宏。
協議:The MIT license


RFKit

RFKit是為日常iOS開發打造的一個輔助工具庫
中文文檔
協議:The MIT license


LibComponentLogging

LibComponentLogging is a small logging library for Objective-C on Mac OS X and iOS which provides log levels, log components, and pluggable logging back-ends, e.g. writing log messages to a file, or sending them to the system log.
協議:The MIT license

測試[編輯 | 編輯原始碼]

Quick - The Swift (and Objective-C) testing framework.

比較新的一個測試庫


FBSnapshotTestCase - Snapshot view unit tests for iOS

用截圖的方式測試應用


GHUnit - Test Framework for Objective-C

GHUnit is a test framework for Objective-C, Mac OS X 10.5 and above and iPhone 3.x and above. It can be used standalone or with other testing frameworks like SenTestingKit or GTM.
協議:The MIT license


KIF iOS Integration Testing Framework

KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities.
KIF uses undocumented Apple APIs. This is true of most iOS testing frameworks, and is safe for testing purposes, but it's important that KIF does not make it into production code, as it will get your app submission denied by Apple. Follow the instructions below to ensure that KIF is configured correctly for your project.
協議:The Apache License, Version 2.0

Debug[編輯 | 編輯原始碼]

HeapInspector

直接跑在 App 里的內存泄漏診斷工具
協議:The MIT license


項目管理[編輯 | 編輯原始碼]

CocoaPods

CocoaPods is the dependency manager for Cocoa projects. It has thousands of libraries and can help you scale your projects elegantly.
現已成為引用第三方開源庫的「標準」方式

Xcode 插件[編輯 | 編輯原始碼]

Alcatraz

可以管理 Xcode 模版、配色和插件的插件
協議:The MIT license


JDPluginManager

也是管理插件的插件,相較 Alcatraz 最大的優點是可以手動升級通過它安裝的插件
未指定協議 --02:53, 5 December 2013 (UTC)


FuzzyAutocompletePlugin

Xcode 默認的補全是只能匹配前綴的,這個插件可以讓補全支持模糊匹配
未指定協議 --02:10, 5 December 2013 (UTC)


ColorSense for Xcode - Plugin for Xcode to make working with colors more visual

協議:The BSD 2-Clause License


XVim - Xcode plugin for Vim keybindings

協議:The MIT license


KSImageNamed-Xcode - Xcode plug-in that provides autocomplete for imageNamed: calls

協議:The MIT license


Lin - Xcode4 plugin shows completion for NSLocalizedString

協議:The MIT license


Dash Plugin for Xcode

This plugin allows you to use Dash instead of Xcode's own documentation viewer when using option-click (or the equivalent keyboard shortcut) to view the documentation for the selected symbol.
協議:The BSD 2-Clause License

資源及參考[編輯 | 編輯原始碼]