2017 iOS 开发 33 款主宰的开源库

2024-06-08 17:18
文章标签 开发 开源 ios 2017 33 主宰

本文主要是介绍2017 iOS 开发 33 款主宰的开源库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. IGListKit



由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。可查看 Ray Wenderlich 上的关于在你的项目中实现该库的教程,或者从 Rodrigo Cavalcante 中看看关于将现有的 UITableView 迁移到 IGListCollectionView 的方法。


2. Realm

Realm 是一款移动数据库,可直接运行在手机、平板电脑和可穿戴设备中,它不仅适用于 iOS。如果你想尝试与 Core Data 不同的东西,可以试试使用 Realm 。许多人说,它是一种现代化的、高效率的用于原生苹果解决方案的替代物。


3. Moya


Moya 是你的应用程序所缺少的网络层。你不用思考将网络请求放到哪里(以及如何放),Moya 会帮你处理这些问题。



4. SwiftyJSON


Swift 中的 JSON 解析之王。

将下面内容:


if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],

    let user = statusesArray[0]["user"] as? [String: Any],

    let username = user["name"] as? String {

    // Finally we got the username

}


转换为这种格式:


let json = JSON(data: dataFromNetworking)

if let userName = json[0]["user"]["name"].string {

  // Now you got your value

}


5. Valet


Valet 可以帮助你实现将数据安全地存储在 iOS 或 OS X Keychain 中,而无需了解任何 Keychain 相关的工作原理。它支持在单个设备上的多个应用程序(同一开发者)之间共享数据,并在具有 iCloud 的设备上的实现跨设备的数据共享。它还支持 Touch ID 。


6. Firebase Analytics


它(由 Google 出品)可能是 iOS 上最好的免费分析解决方案。包括跟踪应用程序使用量、用户活跃度,以及事件;设置用户属性;创建自定义受众;和一些其他功能。


7. AsyncDisplayKit



Facebook 为他们的 app Paper创造了这个异步 UI SDK。如果你想让你的 app 总是每秒用 60 帧的速度来渲染,一定要看看这个库。 这儿有一篇来自 Buffer 团队的故事。


8. DZNEmptyDataSet


通常用户安装一个 APP 后,会看到一个空的 UITableView 。DZNEmptyDataSet 可以通过提供默认的 Empty Data Set Pattern 的实现来回避这个问题。



9. Chameleon



Chameleon 是一个轻量却功能强大的 iOS 颜色框架软件。它基于的理念是:软件应用程序应该可以不费力气且同时保持多个漂亮的界面。

使用 Chameleon ,你不再需要调配 RGB 值,不用浪费时间去找你的 APP 合适的颜色组合,也不用担心你 APP 的文字是否能在不同背景色上可读。



10. PermissionScope



PermissionScope 是一个用于智能请求用户权限的 Swift 框架。 它不仅包含一个简单的用户界面来请求权限,还包含一个统一的许可 API ,可以告诉你任何指定的系统权限的状态或轻松地对它们发起请求。



11. FileKit



FileKit 是一个 Swift 框架,提供简单而富有表现力的文件管理。点此查看使用示例


12. SwiftyUserDefaults


SwiftyUserDefaults 让 user defaults 用起来很愉悦,通过结合极具表现力的 Swifty API 和静态输入的优势。在一个地方定义键,轻松地使用值类型,并免费获得额外的安全性和方便的编译时检查。



Kingfisher 是一款轻量级的纯 Swift 库,用于从 Web 上异步下载和缓存图像。

特性


  •  异步图像下载和缓存

  •  基于 URLSession 的网络。提供基本图像处理器和滤镜。

  •  用于内存和磁盘的多层缓存。

  •  可取消下载和任务处理以提高性能。

  •  组件独立。可按需分别使用下载器或缓存系统。

  •  预先获取图像并在必要时将其从缓存中显示出来。

  •  包含 UIImageView、NSImage和UIButton扩展,可直接从 URL 设置图像。

  •  设置图像时可内置过渡动画。

  •  可扩展的图像处理和图像格式支持。

14. Hero



Hero 是构建 iOS 视图控制器过渡动画的库。它在 UIKit 繁琐的过渡动画 API 之上提供了一个层,使得自定义过渡动画对于开发人员来说是一个轻松的任务。


15. Hedwig



Hedwig 是一个 Swift 包,提供一组高级 API,可以让你轻松地发送电子邮件到 SMTP 服务器。如果你打算在下一个神奇的 Swift 服务器应用里发送电子邮件,Hedwig 可能是一个不错的选择。


特性
  • 支持通过普通、SSL 或 TLS(STARTTLS)端口连接到所有的 SMTP 服务器。

  • 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 进行认证。

  • 支持使用 HTML 正文和附件发送电子邮件。

  • 支持自定义验证方法和邮件标题,以跟踪你的邮件活动。

  • 支持邮件按序发送,甚至可以同时发送邮件。

  • 支持 Swift Package Manager。

  • 完善的测试和文档。

16. DeviceKit


DeviceKit 是 UIDevice 的值类型替换。可轻松获取设备的信息和电池电量。


特性
  • 设备识别

  • 设备系列检测

  • 设备组检测

  • 模拟器检测

  • 电池状态

  • 电池电量

  • Equatable

17. Charts



漂亮的曲线图、饼状图、柱状图、散点图、气泡图、雷达图,更多的图形都在 charts 库里。



18. MGSwipeTableCell


一个易于使用的 UITableViewCell 子类,可展示多种过渡方式的可滑动按钮。



19. RandomKit



简单易用的随机数据生成器。


20. ResponseDetective



ResponseDetective 是一个非侵入式框架,在调试时用于拦截应用程序和服务器之间的任何的传出请求和传入响应,以进行调试。


21. Onboard


仅需添加几行代码,即可轻松创建一个美丽和吸引人的载入体验。


 


22. Quick + Nimble



Quick 是一款专门用于 iOS 应用开发的开源行为驱动开发(BDD)测试框架,支持 Swift 和 Objective-C ,一般配合匹配框架 Nimble 使用。


23. Natalie


Natalie 生成基于 Storyboard 文件的 Swift 代码,使 Storyboard 和 Segue 更容易使用。生成的文件减少了用字符串作为 Segue 或 Storyboard 的标识符的情况。


24. RxSwift


对 Swift 的响应式编程感兴趣? 那不妨试试 RxSwift 。


示例


指定 GitHub 存储库的搜索 …


let searchResults = searchBar.rx.text.orEmpty

    .throttle(0.3, scheduler: MainScheduler.instance)

    .distinctUntilChanged()

    .flatMapLatest { query -> Observable in

        if query.isEmpty {

            return .just([])

        }

        return searchGitHub(query)

            .catchErrorJustReturn([])

    }

    .observeOn(MainScheduler.instance)


… 然后将结果绑定到你的视图表


searchResults

    .bind(to: tableView.rx.items(cellIdentifier: "Cell")) {

        (index, repository: Repository, cell) in

        cell.textLabel?.text = repository.name

        cell.detailTextLabel?.text = repository.url

    }

    .disposed(by: disposeBag)



25. GDPerformanceView



GDPerformanceView 可以在状态栏上方显示 FPS、CPU 使用情况以及应用版本和 iOS 版本,并通过 delegate 报告 FPS 和 CPU 使用情况。


26. Alamofire



Alamofire 是一个用 Swift 编写的 HTTP 网络库。


特性
  • 链式的请求/响应方法

  • URL / JSON / plist 参数编码

  • 上传类型支持:文件(File )、数据(Data )、流(Stream)以及 MultipartFormData

  • 支持文件下载,下载支持断点续传

  • 支持使用 NSURLCredential进 行身份验证

  • 支持 HTTP 响应验证

  • 上传和下载进度可随进程关闭

  • 支持 cURL 命令输出

  • 支持动态修改和重试请求

  • 支持 TLS Certificate 和 Public Key Pinning

  • 网络可达性

  • 文档完善

27. SwiftyStoreKit



SwiftyStoreKit 是一个轻量级的 App 内购框架,支持 iOS 8.0+、tvOS 9.0+ 和 macOS 10.10+ 。


28. Timepiece


直观的 Swift 日期处理库。


特征:
  • 直观: Timepiece 提供了一系列辅助函数,使得日期处理更简单。

  • 准确: 精确依赖于 Foundation API , Timepiece 可以在无需深入了解的前提下辅助计算日期。

  • 小: Timepiece 只有4个文件,你可以很简单的阅读其内部结构。

29. CryptoSwift


用 Swift 实现的且用于 Swift 中的加密相关函数和辅助结构。


特点
  • 易用

  • 对于字符串和数据方便扩展

  • 支持增量更新(流式更新)

  • 支持 iOS、 macOS、AppleTV、watchOS、Linux 等系统

30. FSCalendar



完全可定制的 iOS 日历库,兼容 Objective-C 和 Swift 。



31. ImageViewer


一个类似 Twitter 的图像查看器。



32. PromiseKit



PromiseKit 是对任意有 swiftc 的平台的恰当而又完整的 promises 实现,它具有卓越的 Objective-C 桥接和专门为 iOS、macOS、tvOS 以及 watchOS 的特殊化处理。


33. Ensembles



Ensemble 是一个 Objective-C 框架,支持 Swift ,扩展了 Apple 的 Core Data 框架,为 Mac OS 和 iOS 添加了点对点的同步功能。多个 SQLite 持久存储可以通过像 iCloud 或 Dropbox 这样的文件同步平台整合在一起。该框架易于扩展,可支持任何需要在不同设备之间传输文件的服务,包括定制服务器。

这篇关于2017 iOS 开发 33 款主宰的开源库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1042815

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta