iOS、mac开源项目及库(感谢原作者的分享)

时间:2022-09-27 16:55:11

目录

    • 模糊效果
    • 富文本
    • 表相关
    • HUD与Toast
    • 其他UI
    • 其他动画
    • 网络测试
    • 网络聊天
    • Model
    • 数据库
    • PDF
    • 摄像照相视频音频处理
    • 消息相关

      具体内容 =============================

      UI

      下拉刷新
      • MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)
      • 可展开/收缩的下拉菜单--SvpplyTable - 一个可展开可收缩的下拉菜单,类似Svpply app。
      模糊效果
      • SABlurImageView - 支持渐变动画效果的图像模糊化类库。P.S. 与前几天推存类库 SAHistoryNavigationViewController 是同一位作者。
      AutoLayout
      • Masonry、Classy、ClassyLiveLayout介绍
      • Masonry、Classy、ClassyLiveLayout介绍
      • ClassyLiveLayout - ClassyLiveLayout通过结合Classy stylesheets与Masonry一起使用,能够在运行的模拟器中微调Auto Layout约束实时显示效果的工具,Snap - Snap是Masonry Auto Layout DSL的Swift版本,是一款轻量级的布局框架,使用了更良好的语法封装了AutoLayout。Snap支持iOS和OS X。
      • Cartography -
      • Auto-Layout-Showcase - swift,AutoLayout 进阶 Demo,宽高比约束、比例约束、不等约束、视差约束、低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo 还动态模拟了各屏幕下的效果。来自百度知道 iOS 小组的内部分享。
      富文本
      • MLEmojiLabel - 自动识别网址、号码、邮箱、@、#话题#和表情的label。可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号),继承自 TTTAttributedLabel,所以可以像label一样使用。label的特性全都有,使用起来更友好更方便。
      • WPAttributedMarkup - WPAttributedMarkup is a simple utility category that can be used to easily create an attributed string from text with markup tags and a style dictionary。
      • Shimmer - BlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示。
      • RichEditorView - swift,一套可定制富文本编辑器组件及示例。功能完整、代码简练、实现逻辑巧妙(编辑器核心与 WebView 结合,采用 HTML5 contentEditable 编辑模式,执行JS 配套命令 execCommand 实现富文本编辑功能)。
      • CSGrowingTextView - 用作即时通讯文本框和评论文本框使用,可以显示多行输入。
      图表
      • swift-linechart - 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件--swift。
        • ios-charts - 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C。
      表相关
      • HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。
      • Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了。DLSlideView - DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,MBXPageViewController - 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
      • RDVTabBarController - 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。。
      隐藏与显示
      HUD与Toast
      • ProgressHUD - ProgressHUD的loading,使用最简单。
      对话框
      • TAOverlay - TAOverlay可通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用自定义图片替换页面上的icon。
        • UICustomActionSheet - 通过模糊背景来着重强调与菜单相关的元素--模糊效果 里面已经收藏。
      • MJAlertView - 3D效果转场效果警示图--MJAlertView。
      其他UI
      • 类似美团的下拉选项 - 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵。
      • CRMediaPickerController - 一个简单易用的图片/视频选择器。1.可同时选择照片和视频。 2.挑选范围有Camera、Camera Roll、Photo Library以及最近拍摄的照片和视频。3.可自定义UIImagePickerController属性(Camera Overlay、Camera Device、Camera View Transform以及allowsEditing)。4.支持横屏和竖屏5.原生的iOS UI。,MDCSwipeToChoose - MDCSwipeToChoose可简单地添加滑动手势来调用UIView,并使用该行为提供了一个组件以创建类似Tinder app的like或者dislike界面的轻扫。基于轻扫的方向,你可以决定执行什么样的行为,并且你可以自定义文本颜色和图片。该项目适用于教学用的抽认卡、图片查看器以及其他等。
      • SDProgressView - 简便美观的进度指示器,此系列共有六种样式的进度指示器。
      • today extension - 用纯代码构建一个Widget(today extension) 。
      • iOS-RatingBar - iOS-RatingBar swift版的评分控件,跟Android的RatingBar一样有两种模式,评分模式和只读模式'支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星,0.5颗星,0.1颗星,可以开启动画效果。

      动画

      侧滑与右滑返回手势
      • SloppySwiper - iOS系统自带的UINavigationController要7.0才支持,但不过该手势只能从屏幕左侧边缘识别,如果要扩大到整个屏幕范围怎么办? 配合一个SloppySwiper无需代码就可以轻松实现。此库支持iOS5.0以上版本(另外:Nav的title滑动不明显,本人写了2个类似的控 件),iOS-Slide-Menu - 能够类似Facebook和Path那样弹出左右边栏侧滑菜单,还支持手势。多种可以自定义的属性。
      • SideMenu - swift实现,一款带动画效果可定制 Slide Menu,可以学习其动画实现思路。P.S. 对于Hamburger式菜单,虽然很常用,不过,苹果并不鼓励使用,甚至有开发小组对其弊病用自家上线应用前后数据对比进行了抨击。
      • QQConfiguration - swift,QQ-iPhone端框架,左侧菜单栏拖动手势。
      • KGFloatingDrawer - 侧滑菜单,qq类似,KyleGoddard/KGFloatingDrawer O网页链接:一款适合于大屏手机或平板的浮动抽屉式导航界面组件。效果很赞- 侧开菜单,qq类似(与RESideMenu类似)。

      • AIFlatSwitch - 一款带平滑过渡动画的 Switch 组件类,类相同风格的 Menu/Backhamburger-button.

      其他动画
      • Spring - Spring是一个Swift编写的开源库,可简化Swift编写的iOS动画。支持shake、pop、morph、squeeze、wobble、 swing、flipX、flipY、fall、squeezeLeft、squeezeRight以及squeezeDown等多种动画形式,用 IBDesignable 让使用者可以在 Xcode 中快速设置动画效果。
      • KYWaterWaveView - 一个内置波浪动画的UIView,里面有鱼跳跃水溅起来的效果。
      • LayerPlayer - 一款全面展示核心动画 API 示例项目(上架应用)。包括 CALayer, CAScrollLayer, CATextLayer, AVPlayerLayer, CAGradientLayer, CAReplicatorLayer, CATiledLayer, CAShapeLayer, CAEAGLLayer, CATransformLayer, CAEmitterLayer 等使用的互动演示。
      • Context-Menu.iOS - 可以为app的菜单添加漂亮的动画内容,可自定义icon,并可根据自己的喜好设计单元格和布局。

      网络相关

      网络连接
      • YTKNetwork - 是基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象。相比 AFNetworking,YTKNetwork 提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。
      • WTRequestCenter - 方便缓存的请求库,提供了方便的HTTP请求方法,传入请求url和参数,返回成功和失败的回调。 UIKit扩展提供了许多不错的方法,快速缓存图片,图片查看,缩放功能, 颜色创建,设备UUID,网页缓存,数据缓存等功能。 无需任何import和配置,目前实现了基础需求。
      • STNetTaskQueue - STNetTaskQueue Objective-C 可扩展网络请求管理库。
      图像获取
      • 网络聊天
        网络测试
        • Reachability - 苹果提供过一个Reachability类,用于检测网络状态。但是该类由于年代久远,并不支持ARC。该项目旨在提供一个苹果的Reachability类的替代品,支持ARC和block的使用方式。

        Model

        • JSONKit - JSONKit库是非常简单易用而且效率又比较高的,重要的JSONKit适用于ios 5.0以下的版本,使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中;然后加入libz.dylib即可。
        • Mantle - Mantle主要用来将JSON数据模型化为OC对象, 大系统中使用。RFJModel - RFJModel是一个IOS类库,可以将JSON字典自动装填到OBJC对象。相比JSONModel有一些非常好的特性,使用上也比较简单。
        • DDModel - 快速搭建项目Model层,支持ORM映射关系,能从JSON/XML直接实例一个Model对象。支持SQLite本地数据持久化,封装了HTTP, 减少HTTP代码与UIViewController的代码耦合,支持Cache;类似RESTKit、Mantle的功能;使用该类库以后简化了网络层 的开发工作,把更多的精力放在UI上面;目前只支持GET/POST方法的请求。使用到的第三方库 有:1.SQLitePersistentObject; 2.JTObjectMapping; 3.AFNetworking; 4.XMLDictionary;

        其他

        • libfacedetection - C++ 人脸识别 包含正面和多视角人脸检测两个算法.优点:速度快(OpenCV haar+adaboost的2-3倍), 准确度高 (FDDB非公开类评测排名第二),能估计人脸角度。
        • Review Monitor - 第一时间自动推送 Apple Store 的用户评论到你的邮件箱或者 Slack,第一时间跟进用户反馈,打造优秀 App 必备工具!类似的有:App annie 的类似功能。
        • TodayExtensionSharingDefaults - TodayExtensionSharingDefaults是一个iOS 8 Today扩展示例,可以使用NSUserDefaults与其containing app分享数据。
        • Parsimmon - swift,小而美的语言学类库封装工具包。提供分词、标记词性、词形归并、朴素贝页斯分类、决策树等自然语言分析小工具。P.S. 英语分词效果好于中文,感兴趣的同学可以针对中文做一些优化开发。参考译文 NSHipster - Password-keyboard - 随机变换数字位置的密码键盘。 模仿银行类应用在付款时输入的随机密码键盘。
        • SemverKit - 针对符合『语义化版本规范 2.0.0』版本号的解析、比较运算类库。不仅支持 Major, Minor, Patch,还支持 Alpha 和 Beta 预发布版本,以及相应地递增运算扩展。
        • SwiftValidator - 基于规则的输入验证类库。项目良好的面向对象设计思想,使规则的扩展及自定义非常方便。更专业的规则引擎(甚至是基于自然语言的规则配置)解决方案,比如:开源的 Drools,商用的 ILOG 等。
        • iOS-Categories - 收集了许多有助于开发的iOS扩展,各种category。

        数据库

        缓存处理

        • TMCache - TMCache 是 Tumblr 开源的一个基于 key/value 的数据缓存类库,可以用于缓存一些临时数据或者需要频繁加载的数据,比如某些下载的数据或者一些临时处理结果。
        • JLKeychain - 快捷使用keychain存储数据的类,使keychain像NSUserDefaults一样工作。

        PDF

        • Reader - Reader可提供类似iBooks的文档导航,支持屏幕旋转和所有方向,并通过密码保护加密PDF文件,支持PDF链接和旋转页面。

        图像浏览及处理

        • CoreImageShop - CoreImageShop图片滤镜处理-- Mac app that let you create a complete Core Image Filter usable on iOS using SCRecorder。
        • WZRecyclePhotoStackView - 删除照片交互--WZRecyclePhotoStackView,就是模拟生活中是删除或保留犹豫不决的情形而产生的。 在上滑,下滑的部分,借鉴了TimingFunctionEditor - TimingFunctionEditor用swift编写, 贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S. 该项目采用更简单的依赖管理器 AAFaceDetection - AAFaceDetection--swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。。
        • Concorde - swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。

        摄像照相视频音频处理

        • LLSimpleCamera - A simple, customizable camera control for iOS, 摄像头。
        • 官网
        • StreamingKit - StreamingKit流媒体音乐播放器。
        • SCRecorder - 酷似 Instagram/Vine 的音频/视频摄像记录器,以 Objective-C 为基础的过滤器框架。 你可以做很多如下的操作:记录多个视频录像片段。删除任何你不想要的记录段。可以使用任何视频播放器播放片段。保存的记录可以在序列化的 NSDictionary 中使用。(在 NSUserDefaults 的中操作)添加使用 Core Image 的视频滤波器。可*选择你需要的 parameters 合并和导出视频。
        • amr - 做即时通讯的音频处理,录音文件是m4a,便于web端的音频播放。

        响应式框架

        消息相关

        消息推送客户端客户端
        • Orbiter - 消息推送客户端:Push Notification Registration for iOS.
        消息推送客户端服务器端
        • pushMeBaby - Mac端消息推送端代码,注意:DeviceToken中间要有空格。
        通知相关
        • JSQNotificationObserverKit - 一款轻量、易用的通知发送及响应框架类库。作者是知名开源项目 JSQMessagesViewController(Objective-C 版即时聊天)的作者 Jesse Squires.
        • Homeoff - 用swift写了一个模仿Launcher通知中心快捷方式的应用。支持20个应用,并增加了一个返回到桌面来解放Home键的功能。

        版本新API的Demo

        • iOS7-Sampler - 整合了iOS7.0的一些十分有用的特性,比如:Dynamic Behaviors、碰撞检测、语音合成、视图切换、图像滤镜、三维地图、Sprite Kit(动画精灵)、Motion Effect(Parallax)、附近蓝牙或者wifi搜索连接、AirDrop、运动物体追踪(iPhone 5S以上,需要M7处理器)等等。对于日常的应用开发十分实用。
        • iOS8-Sampler - 日本的shuさん制作的 iOS8 参考代码集。01.Audio Effects ;02.New Image Filters;03.Custom Filters;04.Metal Basic;05.Metal Uniform Streaming;06.SceneKit;07.HealthKit;08.TouchID;09.Visual Effects;10.WebKit;11.UIAlertController;12.User Notification;13.Pedometer;14.AVKit;15.Histogram;16.Code Generator;17.New Fonts;18.Popover;19.Accordion Fold Transition

        代码安全与密码

        • fishhook - fishhook是Facebook开源的一个可以hook系统方法的工具。
        • GesturePassword - 一个iOS手势密码功能实现,iPad/iPhone 都可以用,没有使用图片,里面可以通过view自己添加。keychain做的数据持久化,利用苹果官方KeychainItemWrapper类。操作 部分都在controller了。删除直接用一下clear。
        • JMPasswordView - 简单实用的手势密码,效果可自行调控。

        测试及调试

        • KKLog - 一个日志管理系统。

        AppleWatch

        • WatchKit-Apps - WatchKit 开源小项目示例集锦。是不可多得地学习 WatchKit 的示例式教程(1.如何创建一个简单的交互式计数器;2.如何从手表上控制iOS app;3.如何在WatchKit app和iOS app之间共享数据;4.如何创建一个拥有不同背景色的数字时钟;5.展示不同的UI层;6.如何创建支持滑动手势的应用程序。)。
        • KYVoiceCurve - 类似Apple Watch中语音的声音曲线动画。
        • IGInterfaceDataTable - IGInterfaceDataTable是WKInterfaceTable对象的一个类别,可以让开发者更简单地配置多维数据。该项目使用类似UITableViewDataSource的数据源模式配置Apple
          Watch表格,而不是将数据结构扁平化成为数组。
        • Apple Watch开发教程资料汇总 - Apple Watch开发教程资料汇总。

        VPN

        • Hydro.network -

          完整项目

          • Eidolon - 艺术品拍卖的投标亭平台,用swift与反应式编程框架 ReactiveCocoa。

          Xcode插件

          • iOS开发进阶,从Xcode开始 - 学习使用Xcode构建出色的应用程序!
          • 在Xcode启动的时候,Xcode将会寻找位
            于~/Library/Application
            Support/Developer/Shared/Xcode/Plug-ins文件夹中的后缀名为.xcplugin的bundle作为插件进行加载
            (运行其中的可执行文件)。Xcode 4 插件制作入门 -
            Xcode 4
            插件制作入门:Xcode所使用的所有库都包含在Xcode.app/Contents/的Frameworks,SharedFrameworks和
            OtherFrameworks三个文件夹下。其中和Xcode关系最为直接以及最为重要的是Frameworks中的IDEKit和
            IDEFoundation,以及SharedFrameworks中的DVTKit和DVTFoundation四个。

          • RTImageAssets - 一个 Xcode 插件,用来生成 @3x 的图片资源对应的
            @2x 和 @1x 版本。

          • java2Objective-c - Google公司出得java转Obje-C转换工具,转换逻辑,不转换UI。

          • 说明 ;
            菜单:xcode——》Edit-》Regx 。

          • KSImageNamed - 自动完成,特别是如果你正在写Objective-C,如果Xcode能自动完成文件名难道不会很伟大吗?比如图像文件的名称。

          • FuzzyAutocomplete - Xcode的实现自动完成还不完美,此插件能给出你所期望或想要的建议,设置:xcode-》Editor-》FuzzyAutocomplete-》plugin
            settings。

          • GitDiff - Xcode的代码编辑器的一个微妙的补强,加上了足够的可见信息以了解上次git提交以来发生了什么变化,设置:xcode-》Edit-》GitDiff。

          • XToDo - 这个插件不仅凸显TODO,FIXME,???,以及!!!注释,也在便利列表呈现他们。
            菜单:xcode-》view-》snippets; 调出列表显示: xcode-》view-》ToDo List : ctrl + T 。

          • Backlight - 突出显示当前正在编辑的行。菜单:xcode-》view-》Backlight

          • 用CocoaPods做iOS程序的依赖管理

          • Alcatraz ,在终端输入: curl
            -fsSLhttps://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh |
            sh ; 重启xcode-》window-》Package Manager:搜索 Peckham 安装,打开Peckham.xcodeproj,编译 Peckham target,重启Xcode 。

          • Auto-Importer - Auto-Importer是一个自动导入类对应的头文件的Xcode插件。

          • 使用说明 。

          • KSHObjcUML -KSHObjcUML 是一个 Objective-C 类引用关系图的
            Xcode 插件。

          • ColorSense-for-Xcode - 颜色插件,安装之后,就不用根据RGB选择颜色,直接从取色板中取颜色,会自动补齐RGB代码。。

          • 10款提高iOS开发效率的XCode插件 - 10款提高iOS开发效率的XCode插件:1.
            XcodeColors;5. ACCodeSnippetRepository;10. Dash for Xcode。

          • ZLGotoSandboxPlugin - 支持Xcode快捷键了跳转当前应用沙盒了!快捷键是
            Shift+Common+w。

          • XcodeSwiftSnippets - XcodeSwiftSnippets,
            提供了很多可在 Xcode 上使用的 Swift 代码片段, 通过自动补全的方式极大的提高了开发效率,

            美工资源

            其他资源

            • githuber - 最好用的GitHub人才搜索工具。
            • kitematic - Mac 上使用 Docker 最简单的方案。

            开发资源

            开发资料
            • IQKeyboardManager;
              app不流畅:MagicRecord;
              CollectionView实现悬停的header:iOS开发的一些奇巧淫技2 - 用一个pan手势来代替UISwipegesture的各个方向、拉伸图片、播放GIF、上拉刷新、把tableview里cell的小对勾的颜色改变、navigationbar弄成透明的而不是带模糊的效果、改变uitextfield
              placeholder的颜色和位置。
            • 第三方接口 - 基本所有第三方接口都在这,再也不用那么麻烦去找了。
            swift
            • swifttoolbox - swifttoolbox swift开发的开源库汇总。
            • Awesome Swift - 一个收集了很多 Swift 开发资源的网站。
            他人开源总结
            中文开发博客列表
            博客地址 RSS地址
            南峰子的技术博客。
                                                                                                    转自:https://github.com/Tim9Liu9/TimLiu-iOS#%E7%9B%AE%E5%BD%95