汇总iOS, Mac, Blockchain, Flutter,

作者: 腾飞tengfei | 来源:发表于2019-07-24 23:46 被阅读11次

汇总好用的开源项目,涵盖了iOS, Mac, Blockchain, Flutter, Weex, H5, Games, C++, Script等各个方面的内容,其中,iOS包涵以下几个方面:

  1. 常用第三方库:AFNetworking & Alamofire, SDWebImage, ReactiveCocoa & RxSwift, Masonry & SnapKit, YYKit;
  2. 导航栏和状态栏;
  3. 侧边菜单 (Side Menu) ;
  4. 支付: 内购 (IAP), ApplePay和第三方支付;
  5. 播放器: 视频播放器和音乐播放器;
  6. IM和直播;
  7. 数据持久 (Data Persistence) ;
  8. 逆向开发;
  9. 安全攻防和应用加固, 数据安全和算法;
  10. 蓝牙, 手势指纹面容ID密码解锁, 图像渲染和绘制 (OpenGLES, Metal, GPUImage, CoreGraphics), 图片浏览器, 扫码器, 下拉刷新和上拉加载, 指示器, Toast, Menu和弹出视图, WebView和进度条, 动画, 选择器, 搜索, 分享, 图片验证码, 获取设备相关信息, 广告, Sensor, Privacy, 高仿项目和项目Demo。

目录

iOS

常用第三方库

AFNetworking和Alamofire

  • AFNetworking - A delightful networking framework for iOS, macOS, watchOS, and tvOS.

NSURLSession:

  • AFURLSessionManager
  • AFHTTPSessionManager

Security:

  • AFSecurityPolicy

Reachability:

  • AFNetworkReachabilityManager

Serialization:

  • <AFURLRequestSerialization>
    • AFHTTPRequestSerializer
    • AFJSONRequestSerializer
    • AFPropertyListRequestSerializer
  • <AFURLResponseSerialization>
    • AFHTTPResponseSerializer
    • AFJSONResponseSerializer
    • AFXMLParserResponseSerializer
    • AFXMLDocumentResponseSerializer (macOS)
    • AFPropertyListResponseSerializer
    • AFImageResponseSerializer
    • AFCompoundResponseSerializer

UIKit:

  • Adding properties in the form of catagory.

  • Alamofire - Alamofire is an HTTP networking library written in Swift.

Core目录下各个文件的功能简述:

  • Alamofire.swift -- 该文件中主要是给用户提供一些便利的调用方法,用户可以直接调用该文件中的便利方法来使用Alamofire相关功能。
  • Manager.swift -- Manager中定义了Session对象,Session相关的Delegate,以及Delegate执行的队列等相关信息,在Manager中创建Request对象发起请求。Manager管理的就是各种请求,Manager对象是以单例的形式对外开放的。
  • Request.swift -- 该文件如其名,就是负责创建Session的各种task的,并执行相关的SessionTask,并调用相关书籍解析的功能模块对数据进行解析并通过回调返回给用户。
  • ParameterEncoding.swift -- 负责请求参数的各种编码(URL、URLEncodedInURL、JSON、PropertyList等编码),并将编码后的数据与URLRequest结合后的结果进行返回。
  • Result.swift -- 对解析后的数据封装成Result对象。
  • Response.swift -- 负责将服务器相应的数据进行封装生成Response对象,该对象中就包括上述的Result对象,用户最终会通过闭包回调的形式获取到该Response的对象。
  • Notifications.swift -- 其中是一个Notification结构体,该结构体中定义了一些字符串,这些字符串就是所需通知的Key,当网络请求DidResume、DidSuspend、DidCancel、DidComplete都会发出通知。
  • Error.swift -- 其中是一个Error的结构体,其中封装的是各种错误状态。

Features目录下各个文件的功能简述:

  • Download.swift -- 对Manager和Request类进行扩展,使其支持Down Task,其中封装了NSURLSessionDownloadDelegate相关代理方法。
  • Upload.swift -- 在该文件中也是对Manager和Request类进行的扩展,使其支持Upload Task,其中封装了NSURLSessionDataDelegate中获取上传数据进度的代理方法,也就是taskDidSendBodyData代理方法。
  • MultipartFormData.swift -- 该文件从名字就可以看出是为了组织多表单数据上传的数据的,在Upload Task中就使用到了MultipartFormData。
  • Stream.swift -- 和Download和Upload文件相似,该文件中也是对Manager和Rquest做延展,主要使其支持数据流的传输,其中主要封装和实现了NSURLSessionStreamDelegate相关的代理方法。
  • ResponseSerialization.swift -- 该文件中主要是对Request类进行数据解析的延展的。其中封装了各种对响应数据的解析方式,其中包括Data、String、JSON、PropertyList等解析方式。
  • NetworkReachabilityManager.swift -- 该文件主要是对SystemConfiguration.framework中的SCNetworkReachability相关的东西进行封装的,主要用来管理和监听网络状态的变化。
  • ServerTrustPolicy.swift -- 这个文件主要是对NSURLSession做的延展,其中定义了各种网络请求的认证策略,主要证书认证相关东西。
  • Timeline.swift -- 该文件是为了方便调试而生的,其中记录了相关操作的时间点,并且对其进行记录,便于在Debug时使用到。
  • Validation.swift -- 主要是用来验证请求是否成功,如果出错了就做相应的处理。

SDWebImage

  • SDWebImage - This library provides an async image downloader with cache support. For convenience, we added categories for UI elements like UIImageView, UIButton, MKAnnotationView (Examples).

Coders for additional image formats

  • SDWebImageWebPCoder - coder for WebP image format. Based on libwebp
  • SDWebImageHEIFCoder - coder to support HEIF image without Apple's Image/IO framework, iOS 8+/macOS 10.10+ support.
  • SDWebImageBPGCoder - coder for BPG format
  • SDWebImageFLIFCoder - coder for FLIF format
  • and more from community!

Loaders

  • SDWebImagePhotosPlugin - plugin to support loading images from Photos (using Photos.framework)

Integration with 3rd party libraries

  • SDWebImageFLPlugin - plugin to support FLAnimatedImage as the engine for animated GIFs
  • SDWebImageYYPlugin - plugin to integrate YYImage & YYCache for image rendering & caching
  • SDWebImageProgressiveJPEGDemo - demo project for using SDWebImage + Concorde library for Progressive JPEG decoding

Make our lives easier

  • libwebp-Xcode - A wrapper for libwebp + an Xcode project.
  • libheif-Xcode - A wrapper for libheif + an Xcode project.
  • and more third-party C/C++ image codec libraries with CocoaPods/Carthage support.

ReactiveCocoa和RxSwift

响应式编程

  • ReactiveCocoa - Reactive extensions to Cocoa frameworks, built on top of ReactiveSwift), It Offers composable, declarative and flexible primitives that are built around the grand concept of streams of values over time. These primitives can be used to uniformly represent common Cocoa and generic programming patterns that are fundamentally an act of observation.

  • RxSwift - Reactive Programming in Swift (RxExample).
    RxSwift comprises five separate components depending on eachother in the following way:

┌──────────────┐    ┌──────────────┐
│   RxCocoa    ├────   RxRelay    │
└───────┬──────┘    └──────┬───────┘
        │                  │        
┌────────────────────────────────┐
│             RxSwift              │
└────────────────────────────────┘
        │                  │        
┌───────┴──────┐    ┌──────┴───────┐
│    RxTest    │    │  RxBlocking  │
└──────────────┘    └──────────────┘

Masonry和SnapKit

链式编程,AutoLayout

  • Masonry - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. Supports iOS and OSX Auto Layout.
UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(superview.mas_top).with.offset(padding.top); //with is an optional semantic filler
    make.left.equalTo(superview.mas_left).with.offset(padding.left);
    make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom);
    make.right.equalTo(superview.mas_right).with.offset(-padding.right);
}];
import SnapKit

class MyViewController: UIViewController {
    lazy var box = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addSubview(box)
        box.snp.makeConstraints { (make) -> Void in
            make.width.height.equalTo(50)
            make.center.equalTo(self.view)
        }
    }
}

YYKit

  • YYKit - 一组庞大、功能丰富的 iOS 组件。

网络相关

网络相关内容:AFNetworking的封装,NSURLSession的封装, Reachability, CocoaHTTPServer, GCDWebServer.

  • SwiftHTTP - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests.

  • BANetManager - 基于AFNetworking 3.0、3.1最新版本的封装,集成了 get / post / put / delete 方法请求数据,单图/多图上传,视频上传/下载,网络监测 等多种网络请求方式。

  • HYBNetworking - 基于AFNetworking3.0以上版本封装的网络层。提供常用的GET/POST接口、上传下载图片、文件接口、支持缓存等。

  • HLNetworking - 基于AFNetworking的高阶网络请求管理器。

  • CCPAFNNetworking - AFN与MBProgressHUD的组合使用。

  • Reachability - ARC and GCD Compatible Reachability Class for iOS and MacOS. Drop in replacement for Apple Reachability.

  • CocoaWebResource - A file transfer solution for iPhone and iPod Touch. Support uploading, download and delete files via browser.

  • GCDWebServer - A modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS, macOS & tvOS apps.

  • CocoaHTTPServer - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications.

导航栏和状态栏

  • WRNavigationBar - 超简单!!! 一行代码设置状态栏、导航栏按钮、标题、颜色、透明度,移动等。(Swift版)

  • NNNavigationBar - 实现导航条背景渐变过渡动画的轻量级框架。

  • RTRootNavigationController - Implicitly make every view controller has its own navigation bar.

  • GKNavigationController - iOS自定义导航栏-导航条联动(仿网易新闻、网易云音乐等导航栏滑动效果)。

  • EasyNavigation - 一款超级简单的导航条管理工具。完全自定义导航条。没有UINavigationBar 和 UINavigationItem 这两个类。完全是对UIView的操作。 所有操作都能一行代码,操作之间完全独立,互不影响。

  • FDFullscreenPopGesture - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP.

  • JZNavigationExtension - JZNavigationExtension integrates some convenient features for UINavigationController and easy to use.

  • BBGestureBack - OC and Swift full screen return gesture(纯OC 和 纯Swift编写,类淘宝、京东等全屏滑动返回效果)。

Side Menu

  • MMDrawerController - A lightweight, easy to use, Side Drawer Navigation Controller.

  • RESideMenu - iOS 7/8 style side menu with parallax effect.

支付

内购IAP

  • RMStore - A lightweight iOS library for In-App Purchases.

  • MKStoreKit - The "Goto" In App Purchases Framework for iOS 8+.

  • IAPHelper - IAP helper for Apple in app purchases. It uses ARC and blocks for ease of use. Ready to use with newsstand subscriptions. No more maintenance for this repo. Please use the SwiftyStoreKit

  • SwiftyStoreKit - SwiftyStoreKit is a lightweight In App Purchases framework for iOS 8.0+, tvOS 9.0+ and macOS 10.10+.

  • Receipt Validation Programming Guide

  • VerifyStoreReceiptiOS - A helper class for verifying App Store receipts under iOS.

ApplePay

第三方支付

  • XHPayKit - 不用官方SDK实现微信支付、支付宝支付。

  • PayDemo - 支付宝和微信支付两种方式集成。

播放器

视频播放器

  • CLPlayer - 自定义支持全屏的播放器。

  • ijkplayer - Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support (FFmpeg).

  • ZFPlayer - Support customization of any player SDK and control layer (支持定制任何播放器SDK和控制层)。

  • BMPlayer - A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles.

  • SJVideoPlayer - Video Player. Support cocoapods & Generate GIF & Export & Localization & Play in View(UIView || TableHeader || TableCell || CollectionCell) & Keyboard Orientation & StatusBar(Style&Hide).

  • kxmovie - movie player for iOS using ffmpeg.

  • ffmpeg-avplayer-for-ios-tvos - A tiny but powerful iOS and Apple TV OS av player framework that's based on the FFmpeg library.

  • Eleven - Eleven Player is a simple powerful video player.use ffmpeg.

  • SBPlayer - 基于AVPlayer封装的轻量级播放器,可以播放本地网络视频,易于定制,可以横屏竖屏,支持M3u8、mp4等格式视频本地播放或者网络播放,通过masonry约束,适配各种尺寸iPhone。

  • VKVideoPlayer - he same battle tested video player used in our Viki iOS App enjoyed by millions of users all around the world.

  • KRVideoPlayer - 类似Weico的播放器,支持竖屏模式下全屏播放。

  • PBJVideoPlayer - ️ video player, simple way to play and stream media on iOS/tvOS.

  • MRVLCPlayer - 一款基于VLC的播放器,支持常用的各大手势功能,支持几乎所有主流格式。

  • ALMoviePlayerController - A drop-in replacement for MPMoviePlayerController that exposes the UI elements and allows for maximum customization.

音乐播放器

  • StreamingKit - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS (iPhone, iPad).

  • LyricsAnalysis - iOS音乐播放器之锁屏效果(仿网易云音乐和QQ音乐)+ 歌词解析 :锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快退、列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果)、歌词解析并随音乐滚动显示。

  • GKWYMusic - iOS基于FreeStreamer的仿网易云音乐播放器。

  • ios-audio-remote-control - This repo demonstrates how to control the software based audio remote control in iOS.

IM和直播

  • AtChat - IOS聊天项目、基于XMPP框架开发,实现了登陆注册(注册以手机号码注册、短信验证) 、发送消息、接收消息、接收好友请求、发起好友请求 、图片消息、语音消息、视频语音、聊天历史记录、最近联系人、二维码添加好友、用户头像上传、朋友圈、发朋友圈、异地登录退出等功能。

  • BAWeChat - 博爱微信,使用原生 frame + MVVM + MVC + QMUIKit + BAKit 开源的微信。

  • MomentKit - MVC模式实现WeChat朋友圈功能,代码整洁易读。支持富文本(链接/表情/电话/邮箱等)、点赞、评论/回复评论、图片预览、文字拷贝等功能。

  • ABigFishTV - 大鱼电视直播 基于ijkplayer的播放器 700多个电视台 包括央视,各地方台,卫视,熊猫直播,社会化分享,登陆,仿微博等 (支持iphonex)。

  • TGTV - TGTV直播APP用Swift3.1编写,采用MVVM架构,本demo运用protobuf实现即时聊天(弹幕)、礼物动画等。

  • MGMiaoBo - 首创房间内多视频直播模式,移动直播新体验,多人秀场更好玩。随时随地与主播聊天互动亲密接触,清纯美女、校花嫩模、吃货萌妹、通通都有…… 1.项目引导页业使用ijkPlayer播放视频;2.首页使用父子控制器进行界面之间的切换;3.自定义MJRefresh刷新控件,替换头部刷新gif图片;4.使用分类理由贝塞尔曲线为UIImageView添加圆角;5.服务器交互使用的是https,用json格式,面向模型开发;其他:全局网络请求封装,页面数据缓存处理,通知,动画,基础控制器封装,使用xib的AutoLayout和Masonry第三方库等。

  • MGDYZB - Xcode8以上版本,已升级为Swift3.x语法。斗鱼-每个人的直播平台提供高清、快捷、流畅的视频直播和游戏赛事直播服务,包含英雄联盟lol直播、穿越火线cf直播、dota2直播、美女直播等各类热门游戏赛事直播等。

  • PLPlayerKit - PLPlayerKit 是七牛推出的一款免费的适用于 iOS 平台的播放器SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。(ios-playback-end-the-sdk)

  • PLMediaStreamingKit - PLMediaStreamingKit 是七牛推出的一款适用于 iOS 平台的推流 SDK,支持 RTMP 推流,h.264 和 AAC 编码,硬编、软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。

Data Persistence

DB, Keychain, NSUserDefaults, Write

  • UICKeyChainStore - UICKeyChainStore is a simple wrapper for Keychain on iOS, watchOS, tvOS and macOS. Makes using Keychain APIs as easy as NSUserDefaults.

  • GenericKeychain - This sample shows how to add, query for, remove, and update a keychain item of generic class type. It also demonstrates the use of shared keychain items.

  • fmdb - A Cocoa / Objective-C wrapper around SQLite.

  • JQFMDB - FMDB的封装,操作简单,线程安全,扩展性强,直接操作model或dictionary。

逆向开发

fishhook

  • fishhook - A library that enables dynamically rebinding symbols in Mach-O binaries running on iOS.

逆向辅助工具

逆向案例

安全攻防和应用加固

数据安全和算法

  • DYFCryptoUtils - 一行代码实现 iOS Base64, MD5, DES, AES, RSA算法,操作简单好用。

  • AESCipher-iOS - AES encryption working between Objective-C and Java. (AESCipher-Java)

  • AESCrypt-ObjC - A simple and opinionated AES encrypt / decrypt Objective-C class that just works.

  • RSADemo - RSA加解密相关方方法,以及密钥格式的生成与转换。

  • Encryptions - this project is for many kinds odf encryption.

  • CryptoSwift - CryptoSwift是在Swift中实现的越来越多的标准和安全密码算法的集合。

  • Security-iOS - 封装了一些iOS上使用的NSData分类,主要用于 RSA加密、AES加密、数据签名、签名校验、MD5、SHA1、SHA256 常用hash等工具。

  • CocoaSecurity - Encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex.

  • BBRSACryptor - 使用OpenSSL进行公钥和私钥的加解密。

  • BBRSACryptor-XHAdd - 1行代码调用RSA公钥、私钥生成、客户端RSA加密、解密、RSA签名、签名验证等。

  • 3desDemo - 3des Demo.

  • Base64 - Objective-C Base64 Additions for NSData and NSString.

  • CryptoCompatibility - CryptoCompatibility shows how to do common cryptographic operations using Apple APIs such that the results match other common cryptographic APIs, most notably OpenSSL.

蓝牙

  • EasyBluetooth - 一款iOS BLE蓝牙调试工具,非常简单容易,也可以作为一个蓝牙库,快速集成和开发。 可以两步搞定蓝牙开发操作。第一步连接设备,第二步特征读写数据。

  • WHBLEDemo - CoreBluetooth central and peripheral demo with OC/Swift (iOS蓝牙中心设备和外设开发,包含OC/Swift版本) 。

  • BabyBluetooth - 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx。

  • BluetoothKit - Easily communicate between iOS/OSX devices using BLE.

  • MultipeerConnectivity - 蓝牙MultipeerConnectivity。

  • WEBlueToothManager - 一个蓝牙4.0的智能硬件架构。(blog)

  • MPBluetoothKit - This is a block-based framework for building Bluetooth iOS apps using the CoreBluetooth Framework.Its a very powerful and useful,and very easy to use it.

手势指纹面容ID密码解锁

  • XGTouchDemo - 手势密码解锁和指纹TouchID解锁的demo。

  • TouchIDAndGestureLock - 指纹解锁、手势解锁。

  • YLSwipeLockView - A swipe password view to unlock an application written in objective-c.

  • YZAuthID - TouchID(指纹)/ FaceID(面容)验证类库,代码简洁,高效。

  • BiometricAuthentication - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.

布局

  • WSCollectionViewFlowLayout - 可替代UICollectionViewFlowLayout的标签流布局,支持固定有规则的布局形式。实现了UICollectionViewDelegateFlowLayout协议方法。使用形式和系统Flowlayout相同。

图像渲染和绘制

OpenGLES

Metal

GPUImage

CoreGraphics

  • Graphs - 通过bezierPath,画出曲线图,并且加入动画。

  • LXBezierPath - 进度条绘制。

图像模糊化

图片浏览器

  • SDPhotoBrowser - A image browser which is easy for using. 非常简单易用的图片浏览器,模仿微博图片浏览器动感效果,综合了图片展示和存储等多项功能。

  • YHPhotoBrowser - 轻量级网络图片浏览器 优化性能 Gif播放性能 类新浪微博打开关闭动画 类微信图片浏览下拉图片消失。

  • HZPhotoBrowser - 图片浏览器,photoBrowser ,新浪微博,picture, pictureBrowser, sina, weibo.

  • KSPhotoBrowser - A beautiful photo browser with interactive dismissal animation. 一个小而美的图片浏览器。

扫码器

二维码,条形码相关内容

  • MMScan - 一个简单的二维码以及条码扫描工具,使用Objective-C语言开发,有一套自定义的扫描动画以及界面,还包括生成二维码以及条码。

  • QRCode - 仿微信二维码扫描。

  • LBXScan - A barcode and qr code scanner (二维码、扫码、扫一扫、ZXing、ZBar、iOS系统AVFoundation扫码封装,扫码界面效果封装)。

  • swiftScan - A barcode and qr code scanner( 二维码 各种码识别,生成,界面效果)。

  • SGQRCode - The easy to use QRCode scan library for iOS【iOS 原生二维码生成与扫描 -> 高仿微信】。

  • EFQRCode - A better way to operate QR Code in Swift, support iOS, macOS, watchOS and tvOS.

  • JB_ZBarSDK_Demo - 通过ZBar SDK,实现IOS扫描、生成二维码的功能。

下拉刷新和上拉加载

  • MJRefresh - An easy way to use pull-to-refresh.

  • SDRefreshView - 简单易用的上拉和下拉刷新(多版本细节适配)。Pull To Refresh.

指示器

  • EasyShowView - 一款超级简单的展示工具,包括吐司指示器,loding加载框,空白页提示,alertview,actionsheet的定制。可任意定制自己想要的各种样式,自定义动画,显示样式等各种操作,使各种展示更加easy。

  • MBProgressHUD - MBProgressHUD + Customizations. http://www.bukovinski.com/

  • MBProgressHUD-JDragon - MBProgressHUD 封装。

  • JGProgressHUD - An elegant and simple progress HUD for iOS and tvOS, compatible with Swift and ObjC.

  • SVProgressHUD - A clean and lightweight progress HUD for your iOS and tvOS app.

  • MMMaterialDesignSpinner - An iOS activity spinner modeled after Google's Material Design Spinner.

  • SCSkypeActivityIndicatorView - Activity indicator view similar to the one seen in the Skype apps.

Toast

  • Toast-Swift - 向UIView对象类添加Toast通知的Swift扩展。(Objective-C版)

  • XHToast - 简洁轻便提示工具,一行代码既可完成提示信息显示 - 支持自定义显示位置及停留时间。

  • iToast-iOS - iToast的ARC版本。

  • toast-notifications-ios - We at Guru software really love toast notifications available on android OS, so we've built a similar feature for the IOS enabled devices.

  • JFMinimalNotifications - An iOS UIView for presenting a minimalistic notification that doesn't block the UI and is highly configurable.

Menu和弹出视图

  • kxmenu - KxMenu is a vertical popup menu for using in iOS applications.

  • LCSlideMenu - A powerful and easy to use slider menu.

  • JMColumnMenu - 仿腾讯新闻、今日头条栏目管理。

  • WJPageManager - WJPageManager提供了可以快速完成项目中常见的标题栏以及对应的分页控制器创建与逻辑处理。

  • YNPageScrollViewController - 一个强大的PageScrollViewController滑动库。菜单多种样式选择,支持悬浮样式、导航条样式、顶部样式。

  • YNPageViewController - 特斯拉组件、QQ联系人布局、多页面嵌套滚动、悬停效果、美团、淘宝、京东、微博、腾讯新闻、网易新闻、今日头条等标题滚动视图。 (YNPageScrollViewController重构版)

  • LTScrollView - ScrollView嵌套ScrolloView(UITableView 、UICollectionView)解决方案, 支持OC / Swift.

  • MLMenu - 仿微信QQ右上角菜单功能。

  • JMDropMenu - 仿QQ、微信下拉菜单封装,支持自定义样式。

  • XYMenu - 简易集成的弹出菜单。

  • YCMenuView - a popup menu which can be highly customized. (一个可以根据关联点和关联视图弹出的菜单,类似QQ导航栏右侧菜单。可满足高度自定义需求。)

  • REMenu - Dropdown menu inspired by Vine.

  • PopMenu - PopMenu is pop animation menu inspired by Sina weibo / NetEase app.

  • SHESelectTable - 下拉选择的列表。

  • MMComboBox - A comboBox contained three kinds of style.

  • CustomPopoverView - 一款小巧灵活的自定义弹出视图, 可以做自定义AlertView、弹出窗口等等。A tiny and sweet custom popView (pop popup).

  • MMPopupView - A basic Pop-Up Kit allows you to easily create Pop-Up view. You can focus on the only view you want to show.Besides, it comes with 2 common Pop-Up view, MMAlertView & MMSheetView. You can easily use & customize it.

  • JianShuPopViewDemo - 简书、淘宝弹出效果动画demo。

  • UIAlertView-Blocks - A category for UIAlertView which allows you to use blocks to handle the pressed button events rather than implementing a delegate.

  • BAAlertController - UIAlertController 的分类,一个block 搞定系统 alert 和 actionSheet 的 iPhone 和 iPad 版本适配!

WebView和进度条

  • NJKWebViewProgress - A progress interface library for UIWebView. Currently, UIWebView doesn't have official progress interface. You can implement progress bar for your in-app browser using this module.

  • BAWKWebView - 用分类封装 WKWebView,一行代码搞定 request、URL、URLString、本地 HTML文件、HTMLString等请求,一个 block 搞定 title、progress、currentURL、当前网页的高度等等。

  • YQLWebViewProgress - 网页进度条显示,WebViewProgress.

  • WYWebViewDemo - 进度条加载网页。

  • CHWebView - 简化UIWebView和WKWebView的API使用,在此基础上实现进度条和简单JS交互事件。

  • WKWebViewDemo - WKWebView实际使用中遇到的注意点,以及WKWebView和JavaScript交互。具体介绍请戳WKWebView使用及注意点(keng)

  • XDProgressView - XDProgressView可以由你心情任意设置高度,也可在上面显示文字。

  • SDProgressView - Progress Indicator View. 简便美观的进度指示器。

动画

// 一些私有API, 有些效果在APPStore中是不能使用的,私有API如下:
NSString *const kCATransitionCube = @"cube";  
NSString *const kCATransitionSuckEffect = @"suckEffect"; 
NSString *const kCATransitionOglFlip = @"oglFlip";  
NSString *const kCATransitionRippleEffect = @"rippleEffect";  
NSString *const kCATransitionPageCurl = @"pageCurl"; 
NSString *const kCATransitionPageUnCurl = @"pageUnCurl";   
NSString *const kCATransitionCameraIrisHollowOpen = @"cameraIrisHollowOpen";
NSString *const kCATransitionCameraIrisHollowClose = @"cameraIrisHollowClose";

// 而下方这些可以放心使用:
// CAAnimation.h
// Common transition types. 
CA_EXTERN NSString * const kCATransitionFade
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCATransitionMoveIn
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCATransitionPush
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCATransitionReveal
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);

选择器

  • BRPickerView - 封装的是iOS中常用的选择器组件。高度封装,只需一句代码即可完成调用,使用比较灵活支持自定义主题颜色。选择器类型主要包括:日期选择器、时间选择器、地址选择器、自定义字符串选择器。

搜索

  • PYSearch - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad) .

分享

  • TTOpenInAppActivity - TTOpenInAppActivity is a UIActivity subclass that provides an "Open In ..." action to a UIActivityViewController. TTOpenInAppActivity uses an UIDocumentInteractionController to present all Apps that can handle the document specified with by the activity items.

图片验证码

获取设备相关信息

广告

  • ZLAdvertDemo - 启动页加载广告。

  • SplashScreenADView - 启动图和开屏广告页,类似网易。可根据广告的有效时间显示或关闭广告页,以及定制广告页停留的时间。

  • LaunchAd - 启动页广告。

  • ADScrollView - 下载一张网页图片,无线滑动图片展示各种广告图片,点击某个广告图片做出相应的操作。

高仿项目和项目Demo

  • iOSProject - iOS project of collected some demos for iOS App. (Swift版)

  • ZFZhiHuDaily - 知乎日报swift版(精仿)。

  • YiYuanYunGou - 高仿一元云购IOS应用(高仿自一元云购安卓客户端)。

  • BingFenShiJia - 缤微纷购。

  • ifanr - 高仿 爱范儿。

  • meituan - 高仿美团iOS版,版本号5.7。截图链接:http://blog.csdn.net/l863784757/article/details/46912223

  • nuomi - 高仿百度糯米iOS版,版本号5.13.0。

  • U17 - 精仿有妖气漫画(Swift5)。

  • MobileProject - 是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileProject对于项目的搭建也进行很明确的划分,各个模块职责也比较明确,MobileProject也引入的一些常用第三方插件、宏定义、工具帮助类等;整个项目也是在不断更新跟维护中,功能点也会不断更新;代码支持iOS7以后版本。

  • WSLAPP - 音乐播放器,新闻,壁纸,画板,二维码,计分器,一个我自己做的完整的项目源码。

  • iOS_Demo - iOS开发中一些实用的Demo。

  • iOS-Project - 收集的一些比较好的iOS打样工程。

  • ZJKitTool - 快速添加UIKit控件可以结合Masonry,以及其他工具类的简单使用,评论列表、瀑布流、压缩图片、倒计时、筛选、自定义PickerView 时间日期选择器、性别选择器、WKWebView 的应用。

  • coolnameismy - blog - coolnameismy的技术博客文章对应的demo。

  • LiuAGeIOS - 六阿哥网iOS版,资讯类客户端。

  • MGSinaWeibo - 高仿新浪微博访客视图,首页,发布界面等 使用技术:MVVM设计模式,使用纯代码和Xib混合开发,使用SnapKit做UI布局,AFN网络数据请求,MJExtension进行字典转模型数据,使用SDWebImage进行图片加载,二维码的扫描和生成,图文混排,不等高cell的计算,表情键盘,图片上传和图片浏览器等技术。

  • MGBaisi - 高度仿写百思不得姐项目,实现精华,新帖,发布,关注,我的五大功能模块,运用了很多技术。 使用技术:MVC设计模式,使用纯代码和Xib混合开发,使用Masonry和AutoLayout做UI布局,首页精华模块充分使用父子控制器,音频视频的播放,集成系统自带新浪分享,评论详情界面,发布集成pop动画,关注界面充分利用Xib的优势,使用SDWebImage进行图片加载,MBProessHUD进行遮盖提示,清除缓存功能,UIWebView进行网页加载等技术。

  • MGDemo - 涉及导航栏随着tableView滑动是否隐藏,随着tableView的滑动让TabBar隐藏,停止滑动显示TabBar。还有NavigationController的titleView动态缩放效果,还加了UITableView分区展开与收起。后来又加了录制视频的功能和在相册中选择视频的功能。tableView的一些常用知识点,还有搜索框的使用。后来又整合了UICollectionView的使用,ShareSDK分享等。

  • MGLoveFreshBeen - 一款电商App,实现首页功能以及个人中心和分类,购物车模块。1.MVC设计模式 2.使用纯代码和Xib混合开发,使用Masonry和AutoLayout做UI布局;3.集成友盟分享 4.使用SDWebImage进行图片加载 5.SVProessHUD和MBProessHUD进行遮盖提示 6.UITableView的联动效果 7.首页UICollectionView进行数据显示 8.UIWebView加载网页等技术。

  • DBFMDemo - 豆瓣电台,一个豆瓣电台demo,可以选择播放顺序,可以通过选择频道获取歌曲数据,进行歌曲播放。

Others

Sensor

  • SensorDemo - 指纹识别、运动传感器、加速计、环境光感、距离传感器、指南针、陀螺仪等传感器示例集锦。

Privacy

  • BAPrivacyManager - iOS 所有隐私权限封装,定位、蓝牙、通知、运动、日历、相册、相机等 14 种权限封装!

未归类

  • MSWeakTimer - Thread-safe NSTimer alternative that doesn't retain the target and supports being used with GCD queues.

  • NNMacros - NNMacros通过宏的方式来简化iOS开发中OC的语法和Api的操作。

  • Ono - A sensible way to deal with XML & HTML for iOS & macOS.

  • NSString-URLEncode - Category that adds URLEncode and URLDecode to NSString.

  • EasyIOS - A new generation of development framework based on Model-View-ViewModel.

    • EasyRSS - A rss reader for ios based on easyios.
  • BEMCheckBox - 一个可以很容易地为iOS创建漂亮的、高度可定制的动画复选框。

  • YXCollectionView - UICollection学习总结以及案例集合。

  • NJKScrollFullScreen - Scroll to full screen like Facebook app.

  • ScrollShowHeaderDemo - 上下滑动列表时展现和隐藏顶部视图的demo。

  • HYBSnapkitAutoCellHeight - 基于SnapKit写的自动计算cell的高度的扩展。

  • timeLineiOS - DropIn TimeLine with progress animatiom.

  • MGCollectionView - 环形图片排布以及花瓣形排布。

  • SCIndexView - SCIndexView provide a index view like Wechat.

  • HotOrConcernCityListChoose - 添加热门城市和关注城市。

  • RTLabel - Rich text formatting based on HTML-like markups for iOS.

  • UICountingLabel - Adds animated counting support to UILabel.

  • TKPhoneformat - 一款输入手机号码格式的控件。

  • CopyLabel - iOS拥有复制功能的Label。

  • LYThemeChange - 主题更换。

  • iOS-Swift-UI - iOS-Swift-UI.

  • jiaModuleDemo - 一个针对iOS模块化开发的解决方案。

  • DraggingSort - 长按拖拽排序。

  • RSSliderView - Custom slider based on UIView for iOS.

  • JMMarkSlider - Fully customizable slider that allows you to set marks on it. You can set the color of the bar, marks and handler, the width of the marks and even an image for the handler.

  • ZZHotKeysMenu - ZZHotKeysMenu自定义布局,继承自UICollectionViewLayout。

  • corelib - iOS常用封装类库。

  • LDNetDiagnoService_IOS - iOS平台利用ping和traceroute的原理,对指定域名(通常为后台API的提供域名)进行网络诊断,并收集诊断日志。

  • TOSMBClient - A small library that serves as a simple SMB (Server Message Block ) client for iOS apps. The library allows connecting to SMB devices, downloading file metadata, and subsequently allows asynchronous downloading of files from an SMB device straight to an iOS device. It is an Objective-C wrapper around Defective SMb, or libDSM, a low level SMB client library built in C built by some of VideoLabs' developers. A copy of libDSM has been specially cross-compiled for iOS device architectures and embedded in this library, so this project has no external dependencies.

  • SimulateIDFA - iOS10 IDFA AD tracking limit solution.

  • model-identifiers - Apple model identifiers. Gives you an approximation of the device based on the model identifier.

  • iOSTips - 记录iOS开发中的一些知识点、小技巧。

  • EGOImageLoading - What if images on the iPhone were as easy as HTML?

  • EGOCache - Fast Caching for Objective-C (iPhone & Mac Compatible).

  • UncaughtExceptionHandler - 一个iOS崩溃异常的捕捉处理源代码,帮助更好的调试程序。

  • SPUncaughtExceptionHandler - APP闪退时,由用户决定是否继续。

其他汇总

  • awesome-ios - A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects.

  • arodung-blog - Github上最全的iOS开源项目分类汇总。

类目

  • JKCategories - JKCategories(iOS-Categories,Category), a collection of useful Objective-C Categories extending iOS Frameworks such as Foundation,UIKit,CoreData,QuartzCore,CoreLocation,MapKit Etc.

  • UIButtonEdgeInsets - 通过类别和继承方式实现按钮的图片和标题布局,调整 UIButton的imageEdgeInsets 和 titleEdgeInsets属性。

  • nsstring-extensions - This is a category for NSString that adds commonly used methods such as trim, urlEncode, urlDecode, parseIntWithDefaultValue.

越狱检测

  • iOS Jailbreak Detector - A drop-in class that dynamically detects whether the iOS device your app is running on has been jailbroken or not. 100% App Store Submission Safe. No Private API.

Mac

  • dSYMTools - dSYM analyze.

  • ios-app-signer - This is an app for OS X that can (re)sign apps and bundle them into ipa files that are ready to be installed on an iOS device. (Instructions)

  • iReSign - ReSign allows iDevice app bundles (.ipa) files to be signed or resigned with a digital certificate from Apple for disibution. This tool is aimed at enterprises users, for enterprise deployment, when the person signing the app is different than the person(s) developing it.

  • EasyResigny - A Mac tool for user to resign iOS App.

  • Resign - OSX utility to resign the IPA files.

  • FinderGo - Open terminal quickly from Finder. (blog)

  • iOS-Images-Extractor - A Mac app to decode and extract images from iOS apps, support png/jpg/ipa/Assets.car files.

  • cartool - Export images from OS X / iOS .car CoreUI archives. Very rough code, probably tons wrong with it, but still useful.

  • Pusic - An audio player for mac.

  • My12306Cocoa - 12036自动订票max ox版。

  • 12306Client - 12306Client.

  • AYProgressBar - Customized NSProgressIndicator. Basically its just two-colored line with active color and passive color.

  • GRProgressIndicator - reimplementation of NSProgressIndicator with some customization support.

  • VVDocumenter - Xcode plug-in which helps you write documentation comment easier, for both Objective-C and Swift.

  • ESJsonFormat-Xcode - 将JSON格式化输出为模型的属性。

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

  • XAlign - An amazing Xcode Source Editor extension to align regular code. It can align Xnything in any way you want.

  • FirTools - 一个 swift 写的 OS X 的Menu Bar 程序。

区块链

比特币、以太坊、区块链相关内容

  • go-ethereum - 以太坊协议的官方的Go语言实现。

  • web3swift - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions on Ethereum network (web3.swift-Example - Example on how to use web3.swift).

  • web3j - web3j is a lightweight, highly modular, reactive, type safe Java and Android library for working with Smart Contracts and integrating with clients (nodes) on the Ethereum network.

  • py-geth - Python wrapping for running Go-Ethereum as a subprocess.

  • EthersWallet-ios - Ethereum Wallet and Dapp Browser for iOS.

  • breadwallet-ios - Bread is the best way to get started with bitcoin.

  • dashwallet - Dashwallet (breadwallet fork) is a real standalone Dash client.

  • imToken - ETHWallet.

  • ethers.io - The frontend website HTML, JavaScript and CSS for ethers.io.

  • ethers.objc - Fast, simple and complete library for Ethereum in Objective-C.

Flutter

Flutter和Dart

Flutter Project

  • dart_crypto - 集成Base64, MD5, AES, RSA等算法。

  • grab_ethtoken_info - 爬取etherscan的一个钱包地址的所有token信息( address, name, balance, symbol, value),并编写界面进行展示。

  • flutter_study - Flutter基础,Dart基础,实践教学。

Weex

  • Weex - A framework for building Mobile cross-platform UI.
platform status
Android
iOS
Mobile Web

Weex Community

H5

游戏

Cocos2d

  • Cocos2d-x - Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world. http://www.cocos2d-x.org.

棋牌

  • qipai_algorithm - 棋牌的胡牌算法,包括麻将、跑胡子、扑克。实现 lua c++ c# golang js java python版本。

  • HuPaiMJ - C++麻将胡牌算法。优点:1.速度快,900万次多赖子胡牌用时500ms左右;2.支持多个赖子;3.查错方便,直接查表就可知道。

游戏示例

  • Hardest - 史上最困难的游戏-By Objective-C。

C-plus-plus

  • jsoncpp - A C++ library for interacting with JSON.

Script

Shell

Python

相关文章

网友评论

    本文标题:汇总iOS, Mac, Blockchain, Flutter,

    本文链接:https://www.haomeiwen.com/subject/tcmzlctx.html