155.PhoneNumberKit:一个用来解析,验证和处理不同格式电话号码的框架。处理用户输入或者其他来源的电话号码其实并非看上去那么简单,你需要考虑到除了国家代码,用户不同的输入习惯,空格横线的可能性等等一系列要素。这个框架为我们隐藏了不少实现细节,可以快速地完成和电话号码打交道的任务。
154.BEMCheckBox:一系列优雅简洁的勾选框视图。相比于 iOS 系统的 UISwitch 控件,Checkbox 往往只在编辑列表的时候会被使用,如果你想要单独使用类似的 checkbox,其实并不是很容易。这个框架为我们提供了很漂亮的实现,甚至包括各式样的动画效果,十分漂亮。
153.FlagKit:像是在引导用户填写手机或或者是选择语言的时候,我们经常会需要按照用户需要显示国家或者地区的旗帜。这个库包含了设计漂亮,风格统一的一套旗帜,并且按照国家代码进行了编排,使得我们可以很容易地使用用户设备语言来选择和显示对应的旗帜,十分方便。
152.YTKNetwork:YTKNetwork 是基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象。相比 AFNetworking,YTKNetwork 提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。
151.KYAnimatedPageControl:很有意思的 Page Control 动画,现在提供了粘性小球和滚动方块两种视觉效果。如果你想要自己项目里的 Page Control 不那么乏善可陈的话,试着用这个库来加入一些新鲜的动画效果也许是不错的选择。作者还在这篇帖子里详细说明了类似这种粘性果冻的动画的制作方法。
150.SXWaveAnimate:一个很漂亮的灌水动画,可以用来丰富 app 中的动画效果。可能泛用性并不是很好,但是可以对实现的动画代码进行参考,并调整写出自己的动画代码。
149.DownloadButton:类似 App Store 下载时的按钮,提供了多种样式和状态,并且可以在 Interface Builder 中进行自定义。如果 app 中有类似的按钮需求的话,这个自定义控件能让你省掉很多工作量。
148.NVActivityIndicatorView:一系列漂亮的 loading 动画。自定义的 loading 动画经常被用在网页前端开发中,如果你厌倦了系统提供的 UIActivityIndicatorView 的默认样式,想要在 app 中添加一个个性化的元素的话,这个框架会是一个不错的选择。
147.《动画框架整理》作者整理了几个 iOS 下比较常用的开源动画框架和一些示例。UI 动画在 iOS app 中的重要性不言而喻,它在很大程度上决定用户交互的体验。有时候使用 UIView 或者 CA 动画会比较复杂的话,就可以考虑尝试用一些第三方的动画框架来简化工作。这里收录的项目基本都是成熟可靠的第三方框架,即使不会马上用上,也不妨随意看看作为积累,这样在你遇到实际问题时可能可以回想到合适的方案。
146.BCMagicTransition:BCMagicTransition 是一个动效框架,用于自定义 UINavigationController 的切换动画,效果类似 Keynote 软件中 Magic Move 切换。它可以用于任意两个 UIViewController 之间,只需指定两个 VC 中的相同元素即可。
145.RMPZoomTransitionAnimator:RMPZoomTransitionAnimator 是一个放大缩小的动效开源库,可以实现图片的放大缩小效果。
144.MMTweenAnimation:MMTweenAnimation 是一个基于 POP 的扩展,提供了 10 种自定义的动效。
143.PINRemoteImage:Pinterest 作为图片社交 app 的始祖之一,每天要处理千万计的图片,它们在图片下载和显示方面的能力自然也是毋庸置疑的。最近 Pinterest 开源了一个 iOS 下的图片下载和缓存的框架。PINRemoteImage 除了常规的异步下载和缓存之外,还可以支持像是 WepP 或者 gif 这样的图片。另外,这个框架还提供对 JPG 图片的逐步下载,即可以迅速显示部分或者模糊的图片,在过程中等待下载的完成,最后显示完整图片。这在增强用户体验方面会十分有用。
142.JSQMessagesViewController-- 类iOS发短信界面UI
141.XMPPFramework
140.AFOAuth2Managerfor OAuth 2 Authentication
139.OCHamcrest&OCMockito测试各种便利方法
138.ImagePickerSheetController一个仿照 iMessage 中选择照片的 ViewController,可以横向滑动在不同的照片中切换,以及扩大查看和选择复数张照片,非常灵活。API 设计和 UIAlertController 很类似,因此使用起来也很简单。如果你的 app 中有类似聊天发送图片或者分享图片的需求的话,这个框架会非常方便。
137.NVActivityIndicatorView:一系列漂亮的 loading 动画。自定义的 loading 动画经常被用在网页前端开发中,如果你厌倦了系统提供的 UIActivityIndicatorView 的默认样式,想要在 app 中添加一个个性化的元素的话,这个框架会是一个不错的选择。
136.Async:GCD 是 iOS 开发中处理多线程任务的一个简单易用的特性,但是很多时候使用 GCD 时其实都是一些很模板化的代码。Async 这个项目对 GCD 进行了一些封装,使得在线程间的跳转和调用更加简洁清晰。这不仅有助于我们写出和维护简洁的代码,也能帮助理解线程之间的关系,减少 bug 的产生。
135.FastImageCache-- FastImageCache 是 Path 团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅
134.SDWebImage
133.Objective-C-- A few code snippets
132.TeamTalk-- enterprise IM,XMPP
131.objc-zen-book-cn-- 禅与 Objective-C 编程艺术
130.ReflectionView-- 镜面反射View
129.AHEasing-- C C++ OC的缓冲函数,用在动画的自定义缓冲函数中,牵涉一些数学的东西。
128.DeepLinkKit-- 如果你的 app 要处理很复杂的 URL Scheme 的话,这个项目可能会帮你减轻很多负担。它为 app 提供一个很方便的 router,可以让你轻松地通过 URL Scheme 让你能调用不同的逻辑。另外,它还能和 AppLinks 协同工作。
127.WechatPayDemo-- 非官方微信支付 iOS demo
126.awesome-ios-- 一个iOS的各类优秀的开源项目集合
125.iOS-Core-Animation-Advanced-Techniques-- CA高级技巧gitbook
124.BluetoothKit-- Apple在iOS SDK中提供了CoreBluetooth以方便开发者使用蓝牙特性,但是因为作为通用库,CoreBluetooth必须包含所有的蓝牙特性和稍微低层的抽象,这导致直接使用CoreBluetooth来做开发会有一定困难,即便是最简单的数据传输和通讯都需要不少工作。BluetoothKit在其上进行了封装,提供了一个更为简单和高层的蓝牙通讯API。
123.MPParallaxView-- 如果你使用过新的Apple TV的话,一定会对tvOS中的视差图片效果印象深刻。这个框架用Swift在iOS上实现了类似的效果,用户可以通过触控或者是重力加速度计来控制视差图片的效果。
122.Form-- Form是一个方便开发者创建表单填写工作的UI库。
121.BLKFlexibleHeightBar-- BLKFlexibleHeightBar是一个使导航栏高度可以动态变化的UI库。
120.xliffie-- 一个本地化必备工具,它对 Xcode 生成的 Xliff 文件支持较好。
119.vpn-deploy-playbook-- 一个自动部署各种翻墙服务的工具,包括IPSec,L2TP,PPTP,Cisco AnyConnect,SigmaVPN,APN,shadowsocks,OpenVPN,DNS,SPDY,用户管理等功能。
118.FDFullscreenPopGesture-- 全屏滑动AOP实现
117.Neon-- Swift UI 布局框架
116.PureLayout-- 很轻量的Auto Layout框架
115.eigen-- Artsy's iOS app.
114.MVVMReactiveCocoa-- GitBucket iOS App
113.MMPlaceHolder-- 一句话显示UIView的大小
112.chisel-- LLDB 命令的集合,用于调试 iOS apps
111.libextobjc-- 拓展OC的Cocoa库
110.TKSubmitTransition-- UIButton集成加载和过渡动画
109.Watchdog-- 阻塞主线程是 iOS 开发新人经常犯的一个错误,对于那些耗时的非 UI 操作,我们都应该将它放到其他线程中执行,以保证用户响应的处理和界面的流畅。但是有时候即使是有经验的开发者也确实会忘掉这件事情。这个框架可以监视主线程的情况,并在可能发生阻塞 (主线程超过一定时间还没有进入空闲状态) 的时候,向我们给出警告,这在开发时提醒我们注意线程问题很有帮助。
108.WinObjC-- 虽然这个项目不知道能不能改善 Windows Phone 的现状,但是它还是本周最值一提的开源项目。虽然这个项目还处于非常前期,虽然我们可能在之后一段时间里并不使用它进行 Windows app 的开发,但项目里的一些内容还是很值得玩味的。微软在这个项目中完整地重新实现了包括 UIKit 在内的一些 Cocoa 框架,目测应该是在对 Apple 的框架进行逆向后的改写。如果你想了解一下 Cocoa 内部的实现,也许闲暇的时候看看这个项目的源码会是很有意思的选择。
107.ResponseDetective-- app 开发中难免会与网络请求打交道,在调试 app 的网络部分时,我们往往会使用一些工具来截取发出的请求和收到的响应的内容。像是 Charles 或是 Paw 这样的 Mac app 就是这类工具的代表。而现在 ResponseDetective 采用
106.jot-- IFTTT 最近开源的另一个质量很高的项目。使用触屏随意绘画并且使画出的曲线平滑是一件很有讲究的事情,虽然看上去不难,但是一旦你实际动手做的话就会知道其中暗藏玄机。这个框架为我们提供了一个成熟的触屏绘画和操作内容的解决方案,非常适合用来制作一些像图片标注这样的 app。
105.JazzHands&&RazzleDazzle-- 如果你用过 IFTTT 的 app 的话,应该会注意到它们的 app 的初始引导页面制作非常精美。之前 IFTTT 开源过一个 Objective-C 的基于帧动画的 scroll view 的框架 JazzHands,这次的 RazzleDazzle 是由 JazzHands 为基础使用 Swift 改写的项目。相比于 JazzHands,这个框架的接口更易于理解和使用,我们可以通过更多的行为描述而非过程描述来构建漂亮的 scroll view 动画。
104.DZNEmptyDataSet-- Table View 和 Collection View 可以说是 app 开发中最常用的组件了,在没有具体内容和条目需要显示的时候往往我们需要一个友善的引导和说明页面来填补空白。这个框架让我们能简单地为 UITableView,UICollectionView 或者是 UISearchDisplayController 以及 UIScrollView 制作空白内容页面,而不需要头疼视图的各种状态和布局问题。
103.MSTwitterSplashScreen-- 一个模仿 Twitter 加载页面动画的框架,可以实现图标缩放作为遮罩来显示第一个 ViewController 内容,让你的 app 启动显得更加平滑。
102.TOCropViewController-- 一个模仿 iOS 系统自带的图片编辑界面,可以让你轻松实现图片裁剪的 View Controller。对需要基本的图片编辑功能的 app 来说,这是一个开袋即食的简单解决方案。
101.GRMustache.swift-- Mustache 是一个很强大的 template 引擎,可以通过解析 json 来绑定并渲染占位符。如果你做过一些前端开发的话,会知道这是一种很常用的 HTML 绑定 Model 的做法,GRMustache.swift 是这个框架的 Swift 实现。
100.SyntaxKit-- 一个在 iOS 或者 OSX app 中高亮代码的解决方案,可以让你使用 TextMate 的主题文件来解析一段代码,并返回需要高亮的部分。如果你需要制作一个代码文本编辑器之类的 app 的话,使用这个库可以帮助你轻松完成代码高亮这一核心功能。
99.iOS-Categories-- IOS-Categories 是一个收集各种有用的 Objective-C 语言的 Category 的项目。
98.DKNightVersion-- 是一个支持夜间模式切换的框架。
97.KYGooeyMenu-- 是一个具有 Gooey Effects 带粘性的扇形菜单控件。
96.ResearchKit-- 是苹果开源的方便科研机构创建 App 的框架。
95.VVBlurPresentation-- VVBlurPresentation是一个很简单易用的在原来view controller基础上做模糊,然后present新的view controller的小项目。作者是onevcat。
94.PQFCustomLoaders-- 提供了高质量的、定制化的加载进度条。
93.MMWormhole-- 是一个方便开发者在 iOS 应用与 iOS extensions 之间交换数据的开源框架。
92.YTKKeyValueStore-- YTKKeyValueStore是由笔者开源出来的一个基于sqlite的key-value存储工具。它被使用在了粉笔网、猿题库、小猿搜题三个客户端中后,我发现它不但完全能够满足大多数移动端开发的需求,而且非常适合移动端采用,所以开源出来。
91.NewsFourApp-- 高仿网易4.0新UI框架的Demo
90.KZBootstrap-- 一个方便iOS工程初始化的项目,它包含一些推荐的工程设置和工具。
89.AsyncDisplayKit-- AsyncDisplayKit是facebook开源的一个框架,它能让复杂的用户交互效果流畅地显示,facebook使用它开发完成了paper。Facebook也在这篇文章中,详细介绍了AsyncDisplayKit。
88.Slidden-- Slidden是一个老外开源的开发自定义键盘的库,利用这个开源库,可以方便的配置键位、颜色以及键位对应的图片。
87.fishhook-- fishhook是Facebook开源的一个可以hook系统方法的工具。
86.onepassword-app-extension-- 1Password的扩展SDK,可以方便地集成到iOS应用中
85.EasyIOS-Swift-- Swift 2.0 version of EasyIOS
84.iReSign-- 一个可以把ipa用企业证书重新签名的开源项目。
83.Crashlytics-FPCustomHandler-- 这是一个为 Crashlytics 写的 category, 可以方便添加自己的崩溃处理函数。
82.HackerNews-- Hacker News reader iOS app 的Swift版本
81.Easy-Cal-Swift-- swift是类型安全(type safe) 的语言。但是,由于它有类型推断(type inference)能力,所以当能推断出类型时,你不必非要写对应的类型。对于 字面量(literal value),整数会被推断成Int,浮点数会被推断成Double类型。但是,它并没有定义整数和浮点之间的加法,本项目实现了一个常用的运算符重载,这样就可以支持整数和浮点数做加法了。
80.UIImageView-BetterFace-Swift-- UIImageView-BetterFace-Swift是一个根据目标图象中头像的位置进行智能图片裁剪的开源库,该地址是其更新的Swift版本。
79.JokeClient-Swift-- JokeClient-Swift是@YANGReal用swift写了一个开源的糗事百科的客户端,主要涉及网络请求,图片加载、缓存、自定义UITableViewCell、delegate以及closure,内容接口基于糗事百科API。
78.ThatPDF&&ThatInbox&&ThatPhoto&&ThatCloud-- pdf阅读器(带标注功能),邮件收发程序,图片编辑器 ,iCloud文件管理
77.LTBlacklist-- 来电黑名单的 App
76.HappyEnglish-- 美剧英语每日一句的iOS app
75.Swift-ZhihuDaily-- 知乎日报swift版
74.WhoCall-- 无需越狱并且提供骚扰电话预警、来电归属地提醒、联系人姓名播报。因为调用私有API,所以不能上架AppStore
73.ParseChat-- ParseChat是基于Parse实现的一个实时的聊天室开源应用。
72.f8DeveloperConferenceApp-- 这是一个f8 Conference Apps的会议应用,由Parse开源。
71.Tropos-- Thoughtbot 开源的一个天气预报 app,使用了 ReactiveCocoa 和 MVVM 进行架构。想要学习使用这两种技术的同学不妨仔细读一下代码,毕竟天气预报作为一个入门 app 来说简直是再适合不过了。之后这个项目还有已计划迁移到 Swift 以及 ReactiveCocoa 3.0,所以可以持续关注。
70.synx-- synx可以自动帮你整理项目里的文件,按 group 重新放置。
69.popping-- popping是一个POP 使用实例工程
68.AGGeometryKit-POP-- AGGeometryKit-POP是一个基于facebook POP的动效框架,这里有一个它能提供的动效演示视频。
67.BCMeshTransformView-- BCMeshTransformView是一个用于实现Mesh变换效果的开源库,关于Mesh变换,可以查阅这篇博文。
66.AmericanEnglish-- 美剧英语每日一句的iOS app
65.newsyc-- Startup News的iPhone版源码
64.viewfinder-- 移动支付公司 Square 将去年收购的照片应用 Viewfinder 开源了,包含服务端、iOS 和 Android 应用代码。这里有该项目的介绍。
63.cheddar-ios-- Cheddar for iOS
62.ruby-china-for-ios-- ruby China的iOS版本
61.wh-app-ios-- 白宫iOS
60.FFCalendar-- Calendars iOS
59.iOSSF-- SegmentFault官方App
58.ChatSecure-iOS-- ChatSecure 加密聊天客户端,支持OTR加密 over XMPP.
57.ioctocat-- GitHub for iOS
56.pop-- POP是Paper使用到的动效引擎。
55.PromiseKit-- 异步模式在iOS编程中非常常见。针对异步编程,业界提出了Promise的抽象(又称作Deferred模式)。通过这些一些库,开发人员能够在实际编程中使用Promise模式,每个Promise都拥有一个叫做then的唯一接口,当Promise失败或成功时,它就会进行回调。它代表了一种可能会长时间运行而且不一定必须完成的操作结果。这种模式不会阻塞和等待长时间的操作完成,而是返回一个代表了承诺的(promised)结果的对象。PromiseKit是Promise模式的iOS实现。
54.Lockbox-- Lockbox是一个帮助你方便地将数据保存到keychain中的开源工具类。
53.Tweaks-- Tweaks让开发者可以方便地对特定事物进行标记——比如动画效果的时间,或者是按钮的颜色,或者是图片的透明度——并在使用设备实际运行应用时让开发者方便地进行实时调整。
52.VZ&&VZ_Server-- 微转iOS客户端和服务端:微转是一个基于微博的数码设备平台,客户端和后台全部基于AVOSCloud服务实现。作者将其iOS客户端和服务端代码全部开源。
51.SecretSwitch-- 分享了一个在开源项目,模拟PayPal 切到后台后变模糊的功能:
50.VVeboImageView-- 自己为VVebo写的GIF解决方案 VVeboImageView, 占用内存很小
49.SWParallaxScrollView-- 是一个具有多个层次的可滑动视图,可以实现不同层之间不同的滑动速度。该技术常常用来做应用初次启动时的介绍。
48.NTSlidingViewController-- 写了一个类似虾米音乐的iOS App首页左右滑动效果的示例程序,代码质量很高,项目地址在这里。
47.BTCChinaTrade-- 开源了一个「BTCChina ? iOS 交易客户端
46.CocoaSPDY-- Twitter开源了它的iOS SPDY库,可以提供更快的网络下载速度。
45.objc_dep-- 生成XCode工程的UML类图的开源项目
44.PNChart-- 作者周楷雯Kevin发布了PNChart 0.5版本,提供了一个更漂亮的Pie Chart界面。
43.JYRadarChart-- chart
42.UIImageView-BetterFace-- UIImageView-BetterFace-Swift是一个根据目标图象中头像的位置进行智能图片裁剪的开源库,该地址是其更新的Swift版本。
41.fontdiao-- 中文图标字体,可用于 Web 或 iOS,同时提供了国内各种常用网站、应用的徽标 SVG 源文件。
40.animated-tab-bar-- 动态tabbar图标,swift
39.VVSpringCollectionViewFlowLayout-- collection view layout弹簧效果. iOS7's Message.app
38.WGS2Mars-- 中国区GPS偏移纠正
37.ADTransitionController-- 提供各种界面切换动画的开源项目
36.BCGenieEffect-- 在iOS程序中实现UI elemnet的genie effect开源项目(点击按钮之后(缩小,删除、收藏等),视图会被吸进某个地方。)
35.chatheads-- facebook的iOS App的私信对话模式界面,模拟该界面的开源实现
34.Home-For-iOS-- facebook的iOS App的私信对话模式界面,模拟该界面的开源实现
33.KLNoteViewController-- 组织多navigation controllers,叠加效果
32.DOUAudioStreamer-- 豆瓣也开源了用于 iOS/Mac 的流媒体播放引擎:
31.SpeakEnglish-- 英语系列产品的代码
30.MCSwipeTableViewCell-- MailBox支持四种在tableViewCell上的手势,开源实现
29.OneMoreUDID-- 一个自动更新UDID和provisioning文件的项目又推荐了一个,一步加 UDID,更新 provisioning文件 后下载,比之前那个还简单
28.RESideMenu-- 侧滑框架
27.JASidePanels-- 侧滑框架
26.Masonry-- AutoLayout优化框架
25.THObserversAndBinders-- key-value observing (KVO) and key-value binding (KVB)
24.LxGridView-- 删除晃动效果
23.MagicalRecord-- 用Core Data 炒鸡简单
22.Bohr-- app设置界面框架
21.IntentKit-- IntentKit是一个方便你处理第三方的URL Scheme的工具。
20.ZLSwipeableView-- View构建卡片效果(Tinder and Potluck)
19.CBStoreHouseRefreshControl-- 自定义下拉刷新拼接 (Storehouse iOS app)
18.HJCarouselDemo-- UICollectionView炫酷卡片效果
17.VVeboTableViewDemo-- VVebo剥离的TableView绘制
16.iCarousel-- 数据驱动 3D 卡片效果
15.UITableViewCell-Swipe-for-Options-- iOS 7 Mail app's swipe-to-reveal
14.BMXSwipableCell-- 自定义UITableViewCell,像iOS7 Mail App的滑动
13.WWDC-- WWDC app 神器
12.animate.css-- 跨浏览器的 CSS 动画,准备用于 Hexo 的
11.huno-- Hexo主题
10.hexo-- blog framework
8.jrswizzle-- method swizzling needs
7.RSSRead-- 已阅” iOS上开源RSS新闻阅读器
6.CTPersistance&&CTJSBridge-- OC Database SQlite持久层,iOS app 与h5交互的javascript bridge
5.RTNetworking-- 网络层
4.NSEtcHosts-- A simple example on how to use NSURLProtocol.
3.Aspects-- OC中的AOP
2.HandyAutoLayout-- AutoLayout
1.UITableView-FDTemplateLayoutCell-- UITableViewCell height calculating
网友评论