27 款 iOS 开源库,让你的开发溜到飞起
easyme
8年前
<p>我爱开源。</p> <p>我也爱开发者们,他们花费大量宝贵的时间创造出如此惊人的东西,然后与其他人分享,而不要求任何回报。 <strong>开源作者和贡献者们,你们令人敬佩。</strong> 感谢你们所有的工作。</p> <p>我在处理自己的 App 的日常工作中,收藏了一些 iOS 开源库,本文我只从中选择了一部分。这些项目的排序是随机的,但是它们都很棒。</p> <p>多数库支持 CocoaPods ,所以很容易把它们加到你的 XCode 项目中。</p> <p>在文章的底部,你会发现一个简化版本—就是一个简单的标题及其链接的列表。如果你觉得这篇文章有用, <strong>请分享给你的 iOS 朋友。好东西需要传播。</strong></p> <h2>1. DZNEmptyDataSet</h2> <p>这是 iOS 内建的标准,用于处理空表和集合视图。默认情况下,如果你的表视图是空的,屏幕上什么也不会显示。它给予的用户体验还不算最佳。</p> <p>使用这个库,你只需要一些协议,iOS 就会很好地处理集合视图,然后合理美观地显示出用户信息。你不需要为每一个 iOS 项目费心。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/48dc37bcf9b44ef93fdc8da38bbc6512.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'DZNEmptyDataSet'</code></pre> <p><a href="/misc/goto?guid=4958878222867055812" rel="nofollow,noindex">DZNEmptyDataSet </a></p> <p><a href="/misc/goto?guid=4958878222867055812" rel="nofollow,noindex"><em>DZNEmptyDataSet - UITableView/UICollectionView 超类类别,用于显示人数据集…</em> github. </a></p> <h2>2. PDTSimpleCalendar</h2> <p>你的应用需要一个好看的日历组件吗?现在你有了 — PDTSimpleCalendar 可以说是最好的 iOS 日历组件。你可以通过许多方法定义它,包括工作逻辑和视觉效果。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/be9250ad982028c8d5ab1e11fa3191b0.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'PDTSimpleCalendar'</code></pre> <p><a href="/misc/goto?guid=4958968164475240831" rel="nofollow,noindex">jivesoftware/PDTSimpleCalendar </a></p> <p><a href="/misc/goto?guid=4958968164475240831" rel="nofollow,noindex"><em>PDTSimpleCalendar - iOS 的简单的日历/日期选择组件,使用 UIColectionView ... </em> github.com </a></p> <h2>3. MagicalRecord</h2> <p><em>有人说 Core Data 简单。也有人说它不仅简单而且美观。呵,得了吧,说的是苹果吗?</em> 巨多的封装代码被添加到工程里面并不会非常优雅和简单的,更别提要添加、删除和更新如此多的实体、保存上下文,为不同的环境创建不同的 Core Data 栈等等等等这些事情了。我当然也很喜欢 Core Data, 但苹果公司真应该用更好的方式把它简化一下了 — <strong>MagicalRecord 的方式就可以。</strong></p> <p>MagicalRecord 就像是针对 Core Data 的一个封装,隐藏了所有跟开发者无关的东西。如果你用过动态记录模式(例如, Ruby on Rails 就有用到)的话, 那这个非你莫属。如果你的应用里面也使用到了 Core Data,那我真的非常非常推荐这个库。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'MagicalRecord'</code></pre> <p><a href="/misc/goto?guid=4958838688981290929" rel="nofollow,noindex">magicalpanda/MagicalRecord </a></p> <p><a href="/misc/goto?guid=4958838688981290929" rel="nofollow,noindex"><em>MagicalRecord - 超赞,帮助你轻松搞定 Core Data 1!!!11!!!!1!</em> github.com </a></p> <h2>4. Chameleon</h2> <p>如果你正读到这个,那么比起设计师,你可能会是一个更好的程序员。而这个就是为你准备的。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/840eca58fc8a72fa89296bbbbda68989.png"></p> <p>Chameleon 是一个 iOS 的颜色框架。它扩展了 UIColor,加入了漂亮的、现代扁平化风格的颜色。它也让我们可以从由我们自己定义的颜色创建出调色板。通过阅读 readme,你会发现它还能做很多其它的事情。如果你想要的是一个漂亮的应用程序,绝对要把这个库添加到代码工程里面。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/840eca58fc8a72fa89296bbbbda68989.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'ChameleonFramework'</code></pre> <p><a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex">ViccAlexander/Chameleon </a></p> <p><em><a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex">Chameleon - iOS</a> <em> <a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex"> (Obj-C & Swift)</a> </em> <a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex">的扁平风格颜色框架</a> </em> <a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex">github.com</a></p> <h2>5. Alamofire</h2> <p>Alamofire 是一个写在 Swift 上的十分美观的网络文库。你有使用过 AFNetwork 吗?Alamofire 就是它的姐妹版,但 Alamofire 更新颖,更有型,当然(AFNetwork 是写在 Objective-C 上的)。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/e9ac40cbea6cd3d02599e3534038d6d4.png"></p> <p>是否还需要做一些网络的东西,例如下载,上传,获取 JSONs 等等呢?Alamofire 已经为你准备好了。GitHub 上 8000 人的选择肯定不会错。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'Alamofire'</code></pre> <p><a href="/misc/goto?guid=4958851213782329914" rel="nofollow,noindex">Alamofire/Alamofire </a></p> <p><a href="/misc/goto?guid=4958851213782329914" rel="nofollow,noindex"><em>Alamofire - Swift中的优雅 HTTP 网络. </em> github.com </a></p> <h2>6. TextFieldEffects</h2> <p>你是不是感觉标准的 UIT 文本域有点无聊?我也有这样的感觉——让我们来跟 TextFieldEffects 打个招呼吧! 我不会写太多,只是为你展示一些这个文库可以做到的事例:</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/a23950453eef5698b18c0deb7a9d26fd.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/b849b52e04de20f3f4de265bdc9aba92.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/969ed5cd0a755026b171c9b7d210a21a.gif"></p> <p>是的,这些是简单的下拉插入键。你甚至可以利用脚本里的 IBDesignables!</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'TextFieldEffects'</code></pre> <p>Carthage:</p> <pre> <code class="language-objectivec">github "raulriera/TextFieldEffects"</code></pre> <p><a href="/misc/goto?guid=4958968156289834244" rel="nofollow,noindex">raulriera/TextFieldEffects </a></p> <p><a href="/misc/goto?guid=4958968156289834244" rel="nofollow,noindex"><em>TextFieldEffects - 自定义 UITextFields 效果灵感来自 Codrops,使用 Swift 构建. </em> github.com </a></p> <h2>7. GPUImage</h2> <p>你是否有创建过相机APP的经历? <strong>如果没有,你一定会在不久之后遇到这个库的。</strong></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/2a0282cafa894566762d515541b317f7.png"></p> <p>GPUImage为我们提供了由GPU加速的相机预览效果(包括图像和视频),速度极快。 在App Store有数百个APP已经使用这个库——我其中的一个也使用了:</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/f8afdb6b650a1260737dc1efdf834562.png"></p> <p>我的一个使用GPUImage的APP。</p> <p>8869 stars on GitHub and still counting.在GitHub上有8869颗星,并且还在不断增加中。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'GPUImage'</code></pre> <p><a href="/misc/goto?guid=4959639738719213616" rel="nofollow,noindex">BradLarson/GPUImage </a></p> <p><a href="/misc/goto?guid=4959639738719213616" rel="nofollow,noindex"><em>GPUImage - An open source iOS framework for GPU-based image and video processing</em> github.com </a></p> <p>(GPUImage:iOS上开源的基于GPU的图像视频处理框架)</p> <h2>8. iRate</h2> <p>在App Store中获得更多评论的最好方法是什么? 我没有实际数据来回答这个问题,但如果我不得不猜测的话,我会说 <strong>直接去问用户</strong> 。也许这么做是一个很老式的方式——大多数开发人员现在创建自定义的App提示窗——但如果你没有时间或你不想一切从头开始,最好是使用iRate而不是不用。iRate是这样的: 一个你可以包含到你的工程中,并且不需要考虑要求用户评论的小型库——iRate将会在合适的时机自动完成这个。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'iRate'</code></pre> <p><a href="/misc/goto?guid=4958968182027784027" rel="nofollow,noindex">nicklockwood/iRate </a></p> <p><a href="/misc/goto?guid=4958968182027784027" rel="nofollow,noindex"><em>iRate - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it…</em> github.com </a></p> <p>(iRate:一个便于使用的类库,可用于督促在iPhone、Mac应用商店下载并使用你的app用户给你推荐)</p> <h2>9. GameCenterManager</h2> <p>不管你喜欢或讨厌单例子,在这里通过我们最熟悉的 anti-pattern (反模式)管理 Game Center 都是一件非常简单的事(你的游戏里只有一个Game Center在,不是吗?)</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/67db67b8897d32c13fdcda1c9991b830.png"></p> <p>老实说,vanilla-managing 在 iOS 中管理 Game Center 并不是很难, <strong>但是使用这个库就更加简单和快捷了</strong> 。好上加好的体验。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/77a5591323209e08193d0186461e6da3.png"></p> <p>我正在我的一个游戏项目中使用它,它带给我愉快的体验。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'GameCenterManager'</code></pre> <p><a href="/misc/goto?guid=4958968182160084735" rel="nofollow,noindex">nihalahmed/GameCenterManager </a></p> <p><a href="/misc/goto?guid=4958968182160084735" rel="nofollow,noindex"><em>GameCenterManager -</em> </a></p> <p><a href="/misc/goto?guid=4958968182160084735" rel="nofollow,noindex">iOS 游戏中心助手singletongithub.com</a></p> <p> </p> <h2>10.PKRevealController 2</h2> <p>这个是我最喜欢的 iOS 控件之一,它就像一个宝石。PKRevealController 是一个侧滑的菜单(左,右,或者同时),滑向哪边是看你的使用习惯(或者仅仅通过一个按钮,但是这样看起来并没有像滑动那样的 Cool)。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/95dc9a1c284b51ddabc10f096f3bba6f.png"></p> <p>关于类似功能,我尝试过不少其他的库,但是 PKRevealController 给我的感觉是最好的,非常简单的设置,高度的自定义,手势的识别非常好。这个真的可以被包括在 iOS 的 SDK 中,作为一个标准库。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'PKRevealController'</code></pre> <p><a href="/misc/goto?guid=4958870680080047152" rel="nofollow,noindex">pkluz/PKRevealController </a></p> <p><a href="/misc/goto?guid=4958870680080047152" rel="nofollow,noindex"><em>Introducing PKRevealController 2 -</em> </a></p> <p><a href="/misc/goto?guid=4958870680080047152" rel="nofollow,noindex">第二版本的 iOS 的最流行的视图控制器容器... github.com</a></p> <p> </p> <h2>11. SlackTextViewController</h2> <p>你使用过 Slack iOS 的 App 吗?如果你在一个大型的软件公司工作,可能答案是肯定的。但也有一些人尚未接触 Slack。 Slack 的 iOS App 非常强大,尤其是它的自定义文本输入控件...这里有一段代码,你可在 APP 中使用!</p> <p>需要自动增长的文本区域?验证下。需要 <strong>手势识别、自动完成、多媒体粘贴? 验证下。需要</strong> <strong>易于方案集成?验证下。</strong> 你还可能需要什么其他功能呢?</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'SlackTextViewController'</code></pre> <p><a href="/misc/goto?guid=4958870676273756224" rel="nofollow,noindex">slackhq/SlackTextViewController </a></p> <p><a href="/misc/goto?guid=4958870676273756224" rel="nofollow,noindex"><em>SlackTextViewController -</em> </a></p> <p><a href="/misc/goto?guid=4958870676273756224" rel="nofollow,noindex">一个插入UIViewController子类与不断增长的文本输入视图和其他有用的消息... github.com</a></p> <p> </p> <h2>12. RETableViewManager</h2> <p>RETableViewManager 将帮助您动态创建和管理表视图,自动生成控制代码。 它为我们提供了预定义的单元格(对于 bools,文本,日期等 - 请查看下面的屏幕截图),但你也可以创建自定义视图,并支持与默认的视图一起使用。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/1aa7a6b2eabccd30069d36d210699955.png"></p> <p>所有这些元素,你可以在不使用这个库的前提下在 storyboard 中实现。但有时简单的代码比可视化编辑器更好。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'RETableViewManager'</code></pre> <p><a href="/misc/goto?guid=4958968157301390404" rel="nofollow,noindex">romaonthego/RETableViewManager </a></p> <p><a href="/misc/goto?guid=4958968157301390404" rel="nofollow,noindex"><em>RETableViewManager -</em> </a></p> <p><a href="/misc/goto?guid=4958968157301390404" rel="nofollow,noindex">强大的数据驱动内容管理器UITableView.github.com</a></p> <p> </p> <h2>13、权限作用域</h2> <p>该库通过在请求用户 <strong>之前</strong> 通知用户有关所需的系统权限,以提供更好的用户体验 。更高的接受率->更多活跃用户使用 app->更佳反馈->更好状态->更多下载量。鼎力推荐的 pod。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/c51c73e51a389af9a07ade780a461ce0.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'PermissionScope'</code></pre> <p><a href="/misc/goto?guid=4958872895828933554" rel="nofollow,noindex">nickoneill/PermissionScope </a></p> <p><a href="/misc/goto?guid=4958872895828933554" rel="nofollow,noindex"><em>PermissionScope - 一个 Periscope-启发方式来自 iOS 权限.</em> github.com </a></p> <h2>14、SVProgressHUD</h2> <p>这个图片展示的是正常下载,不用等到更长时间,也不用刷新页面。这就是 SVProgressHUD 在 app 中所呈现的。假如你需要自定义等待提示,这里有一个例子(可能是合适的)。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/928a04afd500816229280d5835a4da10.gif"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'SVProgressHUD'</code></pre> <p><a href="/misc/goto?guid=4959671431027398613" rel="nofollow,noindex">TransitApp/SVProgressHUD </a></p> <p><a href="/misc/goto?guid=4959671431027398613" rel="nofollow,noindex"><em>SVProgressHUD - 为 iOS 应用程序提供一个干净、轻巧的进度 HUD.</em> github.com </a></p> <h2>15. FontAwesomeKit</h2> <p><strong>Font Awesome 是非常优秀的,</strong> 使用这个库可以简单地添加字体到你的项目当中,另外还有很多其它方面的功能。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/796b6fb309ac4da395dd8f22c3b3da28.jpg"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'FontAwesomeKit'</code></pre> <p><a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">PrideChung/FontAwesomeKit </a></p> <p><em><a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">FontAwesomeKit - 适用于 iOS 的图标字体库。当前支持</a> <em> <a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">Font-Awesome,</a> <em> <a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">Foundation icons,</a> <em> <a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">Zocial 和</a> <em> <a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">ionicons。 </a> <a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">github.com</a> </em> </em> </em> </em> </em></p> <h2>16. SnapKit</h2> <p>喜欢自动布局(auto layout)?应该是!</p> <p><em>至少在 </em> <em>storyboards 中创建的时候是这样的。</em></p> <p>在没有帮助的情况下,在代码上创建约束是痛苦的,幸运地是用 SnapKit 你可以很方便地通过声明的方式,来约束你的代码。来看看吧。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/d14a69fae15b3974d2556fe8acc8410f.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'SnapKit'</code></pre> <p><a href="/misc/goto?guid=4958968153529640282" rel="nofollow,noindex">SnapKit/SnapKit </a></p> <p><a href="/misc/goto?guid=4958968153529640282" rel="nofollow,noindex"><em>SnapKit - 一个为 iOS & OSX 系统的快速的自动布局 DSL </em> github.com </a></p> <h2>17. MGSwipeTableCell</h2> <p>这是另一个在很多应用里经常看到的 UI 模块,Apple 也许应该考虑将之纳入标准的 iOS SDK 里。Swipeable table cell(可擦除式表格单元)——是关于这个产品最好的描述。最好的一个。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/36a3f1f956abfbef7030bf3388bc4c6c.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/230bcd57512c8f42307db17a756dc3e6.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/a8c6f02b62f3c7f32e1d3a06ba5e10f9.gif"></p> <p>以上只是3种动画类型,还有更多动画lei'xin,请查阅Readme。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'MGSwipeTableCell'</code></pre> <p><a href="/misc/goto?guid=4958968159730531484" rel="nofollow,noindex">MortimerGoro/MGSwipeTableCell </a></p> <p><a href="/misc/goto?guid=4958968159730531484" rel="nofollow,noindex"><em>MGSwipeTableCell -</em> </a></p> <p><a href="/misc/goto?guid=4958968159730531484" rel="nofollow,noindex">MGSwipeTableCell - 一个易用的UITableViewCell子类,允许显示可擦除式按钮,并提供各种...github.com</a></p> <p> </p> <h2>18. Quick</h2> <p>Swift 里的单元测试,适用于 Swift(好吧,Objective-C 也能用),已与 Xcode 集成。如果你是 Objective-C 粉,我更推荐 <a href="/misc/goto?guid=4958539577374748108" rel="nofollow,noindex">Specta</a> ,但是对于 Swift 来说,Quick 应该是最棒的选择。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/425ef463d23d3993dd0c02614e16c815.png"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/54671f7a66e6e93cbcb42e0fed4d6ad8.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'Quick'</code></pre> <p><a href="/misc/goto?guid=4958851214628394802" rel="nofollow,noindex">Quick/Quick </a></p> <p><a href="/misc/goto?guid=4958851214628394802" rel="nofollow,noindex"><em>Quick -</em> Swift(及 Objective-C)的测试框架。github.com </a></p> <h2>19. IAPHelper</h2> <p>应用内置支付给我们带来大量的样板代码,这个库简单封装了大量常见的任务来摆脱那些样板代码。它封装功能都是关于如何将 iOS 用户的钱送到你(或者你的公司)的钱包。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'IAPHelper'</code></pre> <p><a href="/misc/goto?guid=4958968182334038649" rel="nofollow,noindex">saturngod/IAPHelper </a></p> <p><a href="/misc/goto?guid=4958968182334038649" rel="nofollow,noindex"><em>IAPHelper - iOS 的内购助手</em> github.com </a></p> <h2>20. ReactiveCocoa</h2> <p>好啊,这里有一个小怪物。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/b0d6997e8a79203f4a5b8cc77b42d7d1.png"></p> <p>不像这个列表中的其它项,ReactiveCocoa 不小而且不会嵌入项目中。 ReactiveCocoa 给我们带来不同的编程风格/架构,它 <strong>基于信号和数据流。</strong> 它令人感觉惊奇,不过你得先忘掉以前所学的内容才能理解它的工作原理。这不是一件容易的事情,但值得。</p> <p>这里并不适合教你 ReactiveCocoa,但是如果你有兴趣,我会给你很好的资源:</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'ReactiveCocoa'</code></pre> <p><a href="/misc/goto?guid=4958534310893103470" rel="nofollow,noindex">ReactiveCocoa/ReactiveCocoa </a></p> <p><a href="/misc/goto?guid=4958534310893103470" rel="nofollow,noindex"><em>ReactiveCocoa - 一个组成和传输数据流的框架</em> github.com </a></p> <h2>21. SwiftyJSON</h2> <p>使得 在 Swift 中的 JSON 解析更加简便。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'SwiftyJSON'</code></pre> <p><a href="/misc/goto?guid=4958851213980494983" rel="nofollow,noindex">SwiftyJSON/SwiftyJSON </a></p> <p><a href="/misc/goto?guid=4958851213980494983" rel="nofollow,noindex"><em>SwiftyJSON - 在 Swift 中处理 JSON 数据的更好方法 </em> github.com </a></p> <h2>22. Spring</h2> <p>使制作动画变得容易、更具表达性,并且可链接。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/3135fe3863c1cd6154fe3df5390ed702.jpg"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'Spring'</code></pre> <p><a href="/misc/goto?guid=4958968169544691965" rel="nofollow,noindex">MengTo/Spring </a></p> <p><a href="/misc/goto?guid=4958968169544691965" rel="nofollow,noindex"><em>Spring - Swift中用于简化iOS动画的库 . </em> github.com </a></p> <h2>23. FontBlaster</h2> <p>简化自定义字体加载到 APP 的实现。</p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'FontBlaster'</code></pre> <p><a href="/misc/goto?guid=4958968202161965930" rel="nofollow,noindex">ArtSabintsev/FontBlaster </a></p> <p><a href="/misc/goto?guid=4958968202161965930" rel="nofollow,noindex"><em>FontBlaster - 编程实现在 iOS app 中加载自定义字体.</em> github.com </a></p> <p>()</p> <h2>24. TAPromotee</h2> <p>这是交替宣传 APP 的最佳营销策略之一,它可在 APP 中免费实现。有了这个库,一切操作都变得简单,你会忍不住想试一试的——添加 TAPromotee 到你的的 podfile 中,配置后,就可以免费享受更多下载量了。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/4ab6a7f2eaa0035a64eb2f4fa5674734.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'TAPromotee'</code></pre> <p><a href="/misc/goto?guid=4958968182454280685" rel="nofollow,noindex">JanC/TAPromotee </a></p> <p><a href="/misc/goto?guid=4958968182454280685" rel="nofollow,noindex"><em>TAPromotee - Objective-C 库,用于互相推荐 iOS 应用.</em> github.com </a></p> <h2>25. Concorde</h2> <p>你是否在 APP 中加载了大量的 JPEG? Concorde 是 一种渐进的加载方式,它可以让图片 以更好看的方式加载出来。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/49b512d9897a2123d458674a1257a637.gif"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'Concorde'</code></pre> <p><a href="/misc/goto?guid=4958968187270483952" rel="nofollow,noindex">contentful-labs/Concorde </a></p> <p><a href="/misc/goto?guid=4958968187270483952" rel="nofollow,noindex"><em>Concorde - 解码 JPEGs 及下载 :iOS.</em> github.com </a></p> <h2>26. KeychainAccess</h2> <p>这是一个小助手库,用于管理 Keychain 访问。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/cecc87b3e1143c993118b828e343f885.png"> <img src="https://simg.open-open.com/show/5687248f1d7d4b5fa028175348bf898a.png"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/17f2a89e5e627e974cfaf90a30f34fb2.png"></p> <p>CocoaPods:</p> <pre> <code class="language-objectivec">pod 'KeychainAccess'</code></pre> <p><a href="/misc/goto?guid=4958968185299692457" rel="nofollow,noindex">kishikawakatsumi/KeychainAccess </a></p> <p><a href="/misc/goto?guid=4958968185299692457" rel="nofollow,noindex"><em>KeychainAccess - Simple Swift 包装器,f适用于 iOS and OS X .</em> github.com </a></p> <h2>27. iOS-charts</h2> <p style="text-align:center">最后同样重要的是—— iOS 图表库!它非常实用,也非常优雅,因此我不用过于赘述——你 只要滚动下页面,就能知道使用这个项目能为你的 app 做些什么 。 <img src="https://simg.open-open.com/show/fa6d1e805ea87ea750f1ec2a94f28f5c.png"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/3526650bb9c3159e0fe357117e0b3d27.png"></p> <p>是的,一切都可以当成一个简单的(也许可称为“代码嵌入”)组件使用。<br> 遗憾的是目前还没有支持 CocoaPods,所以你需要手工将项目拖动到你的 Xcode 工作区中。</p> <h3>TL;DR list of all these libraries for quick access:</h3> <ol> <li> <p><a href="/misc/goto?guid=4958878222867055812" rel="nofollow,noindex">DZNEmptyDataSet</a> [UI, 解决空表显示]</p> </li> <li> <p><a href="/misc/goto?guid=4958968164475240831" rel="nofollow,noindex">PDTSimpleCalendar</a> [UI, 下拉日历组件]</p> </li> <li> <p><a href="/misc/goto?guid=4958838688981290929" rel="nofollow,noindex">MagicalRecord</a> [实现活动记录模式 的 Core Data 助手]</p> </li> <li> <p><a href="/misc/goto?guid=4958968202068947762" rel="nofollow,noindex">Chameleon</a> [UI, 色彩框架]</p> </li> <li> <p><a href="/misc/goto?guid=4958851213782329914" rel="nofollow,noindex">Alamofire</a> [Swift 网络化]</p> </li> <li> <p><a href="/misc/goto?guid=4958968156289834244" rel="nofollow,noindex">TextFieldEffects</a> [UI, 自定义视觉的文本框]</p> </li> <li> <p><a href="/misc/goto?guid=4958838689168246890" rel="nofollow,noindex">GPUImage</a> [快速图像处理]</p> </li> <li> <p><a href="/misc/goto?guid=4958968182027784027" rel="nofollow,noindex">iRate</a> [获得用户对等级的投票]</p> </li> <li> <p><a href="/misc/goto?guid=4958968182160084735" rel="nofollow,noindex">GameCenterManager</a> [易于管理的用户中心]</p> </li> <li> <p><a href="/misc/goto?guid=4958870680080047152" rel="nofollow,noindex">PKRevealController</a> [UI, 侧滑菜单]</p> </li> <li> <p><a href="/misc/goto?guid=4958870676273756224" rel="nofollow,noindex">SlackTextViewController</a> [UI, 高度可定制的文本框]</p> </li> <li> <p><a href="/misc/goto?guid=4958968157301390404" rel="nofollow,noindex">RETableViewManager</a> [从代码动态创建表格视图]</p> </li> <li> <p><a href="/misc/goto?guid=4958872895828933554" rel="nofollow,noindex">PermissionScope</a> [UI, 提前向用户请求系统权限]</p> </li> <li> <p><a href="/misc/goto?guid=4958870673483345239" rel="nofollow,noindex">SVProgressHUD</a> [UI, 自定义等待图示]</p> </li> <li> <p><a href="/misc/goto?guid=4959635058245725568" rel="nofollow,noindex">FontAwesomeKit</a> [把 Font Awesome 添到项目变得简单]</p> </li> <li> <p><a href="/misc/goto?guid=4958968153529640282" rel="nofollow,noindex">SnapKit</a> [在代码中简单地自动布局]</p> </li> <li> <p><a href="/misc/goto?guid=4958968159730531484" rel="nofollow,noindex">MGSwipeTableCell</a> [UI, 让表格视图的单元格可滑动]</p> </li> <li> <p><a href="/misc/goto?guid=4958851214628394802" rel="nofollow,noindex">Quick</a> [Swift 单元测试框架]</p> </li> <li> <p><a href="/misc/goto?guid=4958968182334038649" rel="nofollow,noindex">IAPHelper</a> [内购助手]</p> </li> <li> <p><a href="/misc/goto?guid=4958534310893103470" rel="nofollow,noindex">ReactiveCocoa</a> [ <a href="/misc/goto?guid=4958872705330544476" rel="nofollow,noindex">FRP</a> 框架]</p> </li> <li> <p><a href="/misc/goto?guid=4958851213980494983" rel="nofollow,noindex">SwiftyJSON</a> [Swift JSON 库]</p> </li> <li> <p><a href="/misc/goto?guid=4958968169544691965" rel="nofollow,noindex">Spring</a> [动画框架]</p> </li> <li> <p><a href="/misc/goto?guid=4958968202161965930" rel="nofollow,noindex">FontBlaster</a> [在应用中简单地加载自定义字体]</p> </li> <li> <p><a href="/misc/goto?guid=4958968182454280685" rel="nofollow,noindex">TAPromotee</a> [通过下拉视图全方位推广你的应用]</p> </li> <li> <p><a href="/misc/goto?guid=4958968187270483952" rel="nofollow,noindex">Concorde</a> [边下载边显示 JPEG 图像]</p> </li> <li> <p><a href="/misc/goto?guid=4958968185299692457" rel="nofollow,noindex">KeychainAccess</a> [密码管理器]</p> </li> <li> <p><a href="/misc/goto?guid=4958869563741950659" rel="nofollow,noindex">iOS-charts</a> [漂亮的图表库]</p> </li> </ol> <p> </p> <p>来自:https://www.oschina.net/translate/27-ios-open-source-libraries-to-skyrocket-your-development</p> <p> </p>