Skip to content

提供iOS精选列表,包含Objective-C和Swift项目,涉及鸿蒙开发、Flutter、React Native、Weex、H5、小程序、区块链、数据库、游戏开发等教程(Provides a curated list of awesome iOS, including Objective-C and Swift Projects, covering tutorials on HarmonyOS development, Flutter, React Native, Weex, H5, mini programs, blockchain, databases, game development, and more.)。

License

Notifications You must be signed in to change notification settings

itenfay/Awesome

Repository files navigation

Awesome

提供iOS精选列表,包含Objective-C和Swift项目,涉及鸿蒙开发、Flutter、React Native、Weex、H5、小程序、区块链、数据库、游戏开发等教程(Provides a curated list of awesome iOS, including Objective-C and Swift Projects, covering tutorials on HarmonyOS development, Flutter, React Native, Weex, H5, mini programs, blockchain, databases, game development, and more.)。

License MIT 

Group

ID QRCode Description
614799921 614799921 Technology communication group for iOS & macOS
155353383 155353383 Technology communication group for other Dev-Lang

Catalog

iOS Catalog

Apple Developer

HarmonyOS Development

Flutter

React Native

Weex

H5

MiniProgram

C and Cplusplus

Blockchain

Database

Games

Scripts

Others

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.

Kingfisher

  • Kingfisher - A lightweight, pure-Swift library for downloading and caching images from the web.

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 组件。

DataSources

  • DifferenceKit - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection.

  • DiffableDataSources - 💾 A library for backporting UITableView/UICollectionViewDiffableDataSource.

  • RxDataSources - UITableView and UICollectionView Data Sources for RxSwift (sections, animated updates, editing …).

  • IGListKit - A data-driven UICollectionView framework for building fast and flexible lists.

  • FlexibleDiff - A simple collection diffing μframework for Swift, allowing separated defintions of identity and equality for the purpose of diffing.

  • DeepDiff - 🦀Amazingly incredible extraordinary lightning fast diffing in Swift.

ReactiveCocoa-RxSwift

函数响应式编程

  • ReactiveCocoa - Cocoa framework and Obj-C dynamism bindings for 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  │
└──────────────┘    └──────────────┘
  • ReactiveObjC - This is legacy introduction to the Objective-C ReactiveCocoa, which is now known as ReactiveObjC. For the updated version that uses Swift, please see ReactiveCocoa or ReactiveSwift. ReactiveObjC (formally ReactiveCocoa or RAC) is an Objective-C framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values.

ReactiveSwift

  • ReactiveSwift - ReactiveSwift offers composable, declarative and flexible primitives that are built around the grand concept of streams of values over time.

  • Kickstarter-ReactiveExtensions - A collection of extensions to the ReactiveSwift framework.

  • SwiftRex - Swift + Redux + (Combine|RxSwift|ReactiveSwift) -> SwiftRex

Moya

  • Moya - Network abstraction layer written in Swift.

RestKit

  • RestKit - RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X.

Charts

  • Charts - Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.

  • PNChart - A simple and beautiful chart lib used in Piner and CoinsMan for iOS.【 Preview

  • PNChart-Swift - A simple and beautiful chart lib used in Piner and CoinsMan for iOS Swift Implementation.

Messages

  • SwiftMessages - A very flexible message bar for iOS written in Swift.

EmptyDataSet

  • DZNEmptyDataSet - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display.

  • EmptyDataSet-Swift - DZNEmptyDataSet implement with Swift.A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. DZNEmptyDataSet with Swift.

JSON

  • HandyJSON - A handy swift json-object serialization/deserialization library.

  • ObjectMapper - Simple JSON Object mapping written in Swift.

  • Moya-ObjectMapper - ObjectMapper bindings for Moya and RxSwift.

KeyboardManager

  • IQKeyboardManager - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

  • IQKeyboardManagerSwift - IQKeyboardManager 's Swift Module.

PhotoPicker

  • HXPHPicker - Photo/Video Selector-Supports LivePhoto, GIF selection, online download of resources on iCloud, and editing of photos/videos.

  • HXPhotoPicker - 图片/视频选择器 - 支持LivePhoto、GIF图片选择、3DTouch预览、在线下载iCloud上的资源、编辑图片/视频、浏览网络图片 功能 Imitation wx photo/image picker - support for LivePhoto, GIF image selection, 3DTouch preview, Download the resources on iCloud online, browse the web image function.

  • TZImagePickerController - 一个支持多选、选原图和视频的图片选择器,同时有预览、裁剪功能,支持iOS6+。 A clone of UIImagePickerController, support picking multiple photos、original photo、video, also allow preview photo and video, support iOS6+.

  • ZYImagePickerAndBrower - 2018iOS微信相册,朋友圈imagePicker UI仿,微信照片选择器 多选序号

Deeplink

  • URLNavigator - ⛵️ Elegant URL Routing for Swift

  • DeepLinkKit - A splendid route-matching, block-based way to handle your deep links.

  • Appz - 📱 Launch external apps, and deeplink, with ease using Swift!

  • Deeplink - A library to parse deeplinks and their arguments using String interpolation.

  • XRouter - Navigate anywhere in just one line.

SwiftKit

  • CXSwiftKit - 提供Swift丰富的扩展和实用工具类(This provides the utilities and rich extensions of Swift.)。

  • SwifterSwift - A handy collection of more than 500 native Swift extensions to boost your productivity.

Hero

  • Hero - Elegant transition library for iOS & tvOS.

pop

  • pop - An extensible iOS and OS X animation library, useful for physics-based interactions.

NVActivityIndicatorView

PageView

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

  • DNSPageView - 一个纯 Swift 的轻量级、灵活且易于使用的 PageView 框架,titleView 和 contentView 可以布局在任意地方,可以纯代码初始化,也可以使用 xib 或者 storyboard 初始化,并且提供了常见样式属性进行设置。

  • JXSegmentedView- A powerful and easy to use segmented view (segmentedcontrol, pagingview, pagerview, pagecontrol, categoryview)'

  • GXSegmentPageView - Swift版分段分页组件,(网易新闻、腾讯新闻、新浪微博、今日头条等Tab效果)

  • HMSegmentedControl - A highly customizable drop-in replacement for UISegmentedControl.

  • SJFluidSegmentedControl - A segmented control with custom appearance and interactive animations. Written in Swift 3.0.【 Preview

  • LUNSegmentedControl - Customizable segmented control with interactive animation(ObjC).

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

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

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

CyclePagerView

  • SDCycleScrollView - Autoscroll Banner. 无限循环图片、文字轮播器

  • ZCycleView- 使用UICollectionView实现常见图片无限轮播,支持自定义cell,自定义pageControl,以及轮播样式

  • WRCycleScrollView - Swift 自动无限轮播用

  • FSPagerView - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner View、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders.

  • TYCyclePagerView - a simple and usefull cycle pager view ,and auto scroll banner view(轮播图) , include pageControl for iOS, support Objective-C and swift.

Code Quality

  • FLEX - An in-app debugging and exploration tool for iOS.

  • BonMot - Beautiful, easy attributed strings in Swift.

Permission

  • PermissionsKit - Universal API for request permission and get its statuses.

  • Permission - A unified API to ask for permissions on iOS.

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

Socket

  • CocoaAsyncSocket - Asynchronous socket networking library for Mac and iOS.

  • SocketRocket - A conforming Objective-C WebSocket client library.

  • SocketIO - Socket.IO-client for iOS/OS X.

  • Starscream - Websockets in swift for iOS and OSX

  • SwiftWebSocket - Fast Websockets in Swift for iOS and OSX.

  • BlueSocket - Socket framework for Swift using the Swift Package Manager. Works on iOS, macOS, and Linux.

Rswift

  • R.swift - Strong typed, autocompleted resources like images, fonts and segues in Swift projects.

SwiftGen

  • SwiftGen - The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

TabBar

  • animated-tab-bar - RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion

  • ESTabBarController - ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie!

  • CYLTabBarController - [EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】

AcknowList

  • AcknowList - Acknowledgements screen displaying a list of licenses, for example from CocoaPods and Swift Package Manager dependencies.

FloatingPanel

  • FloatingPanel - A clean and easy-to-use floating panel UI component for iOS.【 Preview1 | Preview2 | Preview3

  • PanModal - An elegant and highly customizable presentation API for constructing bottom sheet modals on iOS.【 Preview

  • HWPanModal - HWPanModal presents controller from bottom and drag to dismiss, high customize. iOS13 default modalPresentationStyle. 任意形式的底部弹框动画;头条、知乎、抖音弹出评论效果;地图浮层,iOS13 present默认模态效果。【 Preview1 | Preview2 | Preview3

  • OverlayController - OverlayController easily pop your custom view and provide optional transition animation. written in swift 5.0.

  • DrawerKit - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works.

  • DrawerView - A drop-in view, to be used as a drawer anywhere in your app.

  • UltraDrawerView - 🐝 Super ultra drawer view.

  • Pulley - A library to imitate the iOS 10 Maps UI.

  • Rideau - 🎪 Rideau is a drawer UI similar to what Apple's apps use. (e.g Maps, Shortcuts) Supports multiple snap points.

HTTPCache

  • KTVHTTPCache - A powerful media cache framework.

  • SJMediaCacheServer - A HTTP Media Caching Framework. It can cache FILE or HLS media. 音视频边播边缓存框架, 支持 HLS(m3u8) 和 FILE(mp4, mp3等).

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

  • RxCache - Reactive caching library for Swift

  • RxNetworks - 🧚Network API With RxSwift + Moya + HandyJSON + Plugins. pod 'RxNetworks/MoyaPlugins/Cache'

  • RxNetwork - A swift network library based on Moya/RxSwift. pod 'RxNetwork/Cacheable'

ListView

  • UITableView-FDTemplateLayoutCell - Template auto layout cell for automatically UITableViewCell height calculating.【 Preview

  • SDAutoLayout - One line of code to implement automatic layout. 一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于做最简单易用的AutoLayout库。The most easy way for autoLayout. Based on runtime.

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

  • ZJTableViewManager - Powerful data driven tableView,make tableView build so easy.

  • TagListView - Simple and highly customizable iOS tag list view, in Swift.

  • ParallaxHeader - Simple way to add parallax header to UIScrollView/UITableView written in Swift.

  • DAExpandAnimation - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants.【 Priview

Localize

  • Localize-Swift - Swift friendly localization and i18n with in-app language switching.

Date

  • SwiftDate - Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.

Reachability

  • Reachability - Replacement for Apple's Reachability re-written in Swift with closures.

CocoaLumberjack

  • CocoaLumberjack - A fast & simple, yet powerful & flexible logging framework for Mac and iOS.

AsyncDisplayKit

JVFloatLabeledTextField

FLAnimatedImage

TABAnimated

  • TABAnimated - A skeleton screen loading framework based on native for iOS. (一个由iOS原生组件映射出骨架屏的框架,包含快速植入,低耦合,兼容复杂视图等特点,提供国内主流骨架屏动画的加载方案,同时支持上拉加载更多、自定制动画。)

lottie-ios

  • lottie-ios - An iOS library to natively render After Effects vector animations.

APNGKit

  • APNGKit - High performance and delightful way to play with APNG format in iOS.

webp

  • libwebp - WebP codec is a library to encode and decode images in WebP format. This package contains the library that can be used in other programs to add WebP support, as well as the command line tools 'cwebp' and 'dwebp' to compress and decompress images respectively. See https://developers.google.com/speed/webp for details on the image format.

  • SDWebImageWebPCoder - SDWebImageWebPCoder supports both WebP decoding and encoding, for Static WebP or Animated WebP as well.

Nuke

  • Nuke - Image loading system.

VAP

  • vap - VAP(Video Animation Player)是企鹅电竞开发,用于播放酷炫动画的实现方案,相比Webp, Apng动图方案,具有高压缩率(素材更小)、硬件解码(解码更快)的优点;相比Lottie,能实现更复杂的动画效果(比如粒子特效)。| VAP(Video Animation Player) is a fantastic animation player. It can play video with alpha channel. Compared with Webp or Apng animation, it has the advantages of high compression rate (smaller material) and hardware decoding. Compared with Lottie, it can achieve more complex animation effects (such as particle effects).

SVGAPlayer

  • SVGAPlayer - Similar to Lottie. Render After Effects / Animate CC (Flash) animations natively on Android and iOS, Web. 使用 SVGAPlayer 在 Android、iOS、Web中播放 After Effects / Animate CC (Flash) 动画。【 svga.io

SVG

  • SVGKit - Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation).

DKNightVersion

  • DKNightVersion - Manage Colors, Integrate Night/Multiple Themes. (Unmaintained).

PaperOnboarding

  • paper-onboarding - PaperOnboarding is a material design UI slider. Swift UI library by @Ramotion.

GraphQL

  • apollo-ios - 📱 A strongly-typed, caching GraphQL client for iOS, written in Swift.

OOM-Leaks-Crash

  • MLeaksFinder - Find memory leaks in your iOS app at develop time.

  • AMLeaksFinder - A small tool for automatically detecting the [controller, view memory leak] in the project. 一款用于自动检测项目中【控制器内存泄漏,View 内存泄漏】的小工具,支持 ObjC,Swift。

  • FBRetainCycleDetector - iOS library to help detecting retain cycles in runtime.

  • WKVCDeallocMonitor - ViewController 未释放时 进行UI层级提示。

  • OOMDetector - OOMDetector是一个iOS内存监控组件,应用此组件可以帮助你轻松实现OOM监控、大内存分配监控、内存泄漏检测等功能。| OOMDetector is a memory monitoring component for iOS which provides you with OOM monitoring, memory allocation monitoring, memory leak detection and other functions.

  • FBAllocationTracker - FBAllocationTracker is a tool that can be used as an interface to Objective-C objects allocated in memory. It can be used to query all instances of given class, or you can (as in Instruments) mark generations and query for objects created only in scope of one generation.

  • AvoidCrash - This framework can effective avoid crash by potential error code. For example : If you insert a nil into a mutable array, this framework can avoid crash and note you that where cause crash.

HTML Parser

  • SwiftSoup - SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)

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

Rx Series

  • RxSwift - Reactive Programming in Swift (RxExample).

  • RxGesture - RxSwift reactive wrapper for view gestures

  • RxOptional - RxSwift extensions for Swift optionals and "Occupiable" types

  • RxViewController - RxSwift wrapper for UIViewController and NSViewController

  • RxTheme - Theme management based on Rx

  • NSObject-Rx - Handy RxSwift extensions on NSObject, including rx.disposeBag.

  • RxDataSources - UITableView and UICollectionView Data Sources for RxSwift (sections, animated updates, editing …).

  • Moya - Network abstraction layer written in Swift.

  • RxNetworks - 🧚Network API With RxSwift + Moya + HandyJSON + Plugins. pod 'RxNetworks/MoyaPlugins/Cache'

  • RxNetwork - A swift network library based on Moya/RxSwift. pod 'RxNetwork/Cacheable'

  • ReactorKit - A library for reactive and unidirectional Swift applications

  • SwiftHub - GitHub iOS client in RxSwift and MVVM-C clean architecture.

AR-VR

【Learning Source】

【Library】

  • SceneKit-SCNLine - Draw a tube or thick line in SceneKit.pod 'SCNLine' or pod 'SCNLine', '~> 1.3.0'Preview

  • ARKit-FocusNode - FocusSquare class taken straight from Apple's ARKit examples and packed up for anyone to use with ease. pod 'FocusNode'

  • FocusEntity - Bringing the scanning box from SceneKit to RealityKit. Go to File > Swift Packages > Add Package Dependency, and paste in this link: https://github.com/maxxfrazer/FocusEntity.【 Preview

  • RealityUI - A Swift Package for creating familiar UI Elements and animations in a RealityKit rendered Augmented Reality or Virtual Reality scene. Add the URL of this repository to your Xcode 11+ Project under Project > Swift Packages. https://github.com/maxxfrazer/RealityUI.gitPreview

  • MultipeerHelper - A light swift wrapper around the iOS MultipeerConnectivity framework. Including an example project using RealityKit's MultipeerConnectivityService. This is a Swift Package, and can be installed via Xcode with the URL of this repository: git@github.com:maxxfrazer/MultipeerHelper.gitPreview

  • ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data. pod 'ARCL'

  • ARKit-SCNPath - Create paths for your Augmented Reality environments using just points to represent the centre of the path. pod 'SCNPath'Preview1 | Preview2 | Preview3

  • location-based-ar - A Swift Package for creating Augmented Reality applications for iOS with the use of Location-Based Services. Add the URL of this repository to your Xcode 12+ Project under File > Swift Packages. https://github.com/Mist3r-R/location-based-ar.git

【Sample】

  • AR_100Days - 100 days AR implementation challenge.

  • HeavenMemoirs - AR相册 Photo Album For AR.

  • ARKit-Emperor - Power! Unlimited power for ARKit 2.0!

  • OutsideAR - A map using Augmented Reality to enhance festival experience.【 Preview1 | Preview2

  • 360iDevARNavigation - An example project for my 360iDev talk. It's an app that shows pins for the various locations, as well as navigation to those spots.

  • Animation-Collection - The project contains some animation what i make in working career(AirPlane Game).

  • YYSceneKitTest - 用于小白熟悉SceneKit框架及其属性的Demo集合。

  • ARBrush - Quick demo of 3d drawing in ARKit using metal + SceneKit. NOTE: This is experimental code!

  • ARKit-line-drawing - Changed the default ARKit project to draw a line where the camera is positioned.【 Preview

  • Awesome-CoreML-Models - Largest list of models for Core ML (for iOS 11+)

  • ARVideoKit - Capture & record ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆.

  • ARCharts - Lovely Augmented Reality Charts for iOS - Built with ARKit.

  • ARKit-Cardboard-VR - ARkit + GVR to make VR and Mixed Reality 6dof AR for iphone.

  • HCARKit - ARKit实现图片识别、平面捕捉、人脸识别。

  • ARKitCarModel - ARKit实现模型交互,包括汽车模型换肤、汽车轮胎转动、车窗开关等 ARKit需要ios11 以及 A11处理器或更高版本设备支持。

  • AstRal - Augmented reality social network, an underworld of discussion and information to every street.

  • Euclid - A Swift library for creating and manipulating 3D geometry.

  • iCarousel - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS.

  • RetroRampage - Tutorial series demonstrating how to build a retro first-person shooter from scratch in Swift.

  • ARTetris - Augmented Reality Tetris made with ARKit and SceneKit.

  • HDAugmentedReality - Augmented Reality component for iOS, written in Swift.

  • RecognizingImagesToPlayVideo - Use ARKit recognizing images and play videos corresponding.

  • BXGyroscope_AR - 结合照相机,Gyroscope陀螺仪,百度定位等技术制作的一个AR增强现实示例demo.

  • Shape-Detection-in-AR - Detect the shape of drawing objects (classes - line, triangle, rectangle, pentagon, Hexagon, circle) and draw in Augmented Reality.

  • AR-Planes - ✈️ An augmented reality app to visualize and discover the planes flying around you. Finalist at Hack the North 2017 in Waterloo, ON, Canada.【 Preview1 | Preview2

  • TravelAR - An Augmented Reality-based iOS app that gets flights information and visualizes it in a graph in augmented reality, with nodes representing destinations and edge thickness representing price.

  • ARKit-2-Image-Tracking-Demo - iOS 12 + ARKit 2 + Image tracking means: Harry Potter style moving pictures, living movie posters, video postcards, paper-thin “displays,” and lots more augmented reality fun.【 Preview

  • ARMeasuringTape - Augmented Reality Measuring Tape.

  • AugmentedSolarSystem - An Augmented reality experience to explore planets in our Solar System.

  • arkit-smb-homage - An implementation of a Super Mario Bros-like game in augmented reality with ARKit and SceneKit.

  • ARbusters - 👻 Augmented reality game in a pixel/billboard style.

  • ARTargetShooter - Augmented Reality shooting game using Apple's ARKit + SceneKit Frameworks in Swift.

  • SwiftShot - Creating a Game for Augmented Reality.【 Preview1 | Preview2

  • ncnn-models - awesome AI models with NCNN, and how they were converted.

  • LookAtThat - Render Swift source code in AR/VR for macOS and iOS.

  • ARDemo - IOS增强现实学习demo.

  • ARty - Proxy with 3D animated models.

  • beacon-final - This app cannot be run in the XCode simulator and needs an actual device to run due to ARKit. Recommended to use with an iPhone 12 or 13 with LIDAR as these devices will have improved AR Experiences. Additionally, phones provide a better usability than iPads due to their cellular connectivity, therefore greater GPS accuracy.

【Others】

Graphs Processing And Rendering

OpenGL-OpenGLES

Metal

  • Apple Metal - Metal powers hardware-accelerated graphics on Apple platforms by providing a low-overhead API, rich shading language, tight integration between graphics and compute, and an unparalleled suite of GPU profiling and debugging tools.

  • Apple Metal Sample-code - View sample code to see how Metal APIs are implemented.

  • Apple metal_sample_code_library - Explore the complete set of Metal samples.

  • metal - Repository to accompany the following blog posts.

  • Anime4KMetal - Anime4K for Apple platforms based on Metal.

  • Satin - Satin is a 3D graphics framework (inspired by threejs) that helps designers and developers work with Apple's Metal API. Satin provides helpful classes for creating meshes, materials, buffers, uniforms, geometries, pipelines (shaders), compute kernels, and more. Satin's API is rapidly evolving so its best to stick to a tagged version or git commit when using it in production.

  • metal-tutorial - Metal Tutorial: Getting Started.

OpenCV

  • opencv - Open Source Computer Vision Library. pod 'OpenCV' Download

  • opencvIOS - Opencv 中文网学习。

  • OpenCVSample - Sample programs for OpenCV and Swift and iOS and macOS.

  • OpenCVSample - Realtime Face Recognition Sample with Swift & OpenCV.

  • OpenCVRecognizer - This is simple demo how to use OpenCV object detection functionality from Swift on the iOS platform. OpenCV is written on C++, so you can't use it from Swift directly. You have to implement set of wrapper classes using Objective-C++.

  • opencv-spm - A Swift package wrapping around OpenCV.

  • SwiftCamScanner - A pod written in swift that lets you scan and crop documents. It uses edge detection and perspective transformation with OpenCV.

  • ColorDetection - ColorDetection is an app built with OpenCV and using computer vision at its core. It’s able to detect and change colors of objects using a camera of iOS devices.

GPUImage

Beauty Filters and Effects

  • BBMetalImage - A high performance Swift library for GPU-accelerated image/video processing based on Metal.

  • MetalPetal - A GPU accelerated image and video processing framework built on Metal.

  • waifu2x-ios - iOS Core ML implementation of waifu2x

  • CCFilters - CoreImage 所有滤镜效果(iOS11)

  • MagicCamera - iOS多功能AI相机:人像卡通化、变老变年轻、美颜、滤镜、艺术效果等

  • HHYGPUImage - GPUImage滤镜、图片拍照美颜、视频采集美颜

  • LZBGPUImageTool - 美颜滤镜工具类

  • AwemeLike - 仿照抖音的特效相机,实现美颜、2D贴图、分屏、转场等

  • Meihu-Beautyface-sdk - 美狐美颜sdk,支持美颜滤镜(Beauty Filter)、面具特效(Mask the special effects)、贴纸(Software/Hardware Encoder) 、滤镜(LUTs)

CoreGraphics

Payment

In-App Purchases

ApplePay

ThirdPay

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

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

  • 支付宝开放平台 - APP支付适用于商家在 App 应用中集成支付宝支付功能。商家APP调用支付宝提供的 SDK,SDK 再调用支付宝APP内的支付模块。如果用户已安装支付宝 APP,商家 APP 会跳转到支付宝中完成支付,支付完后跳回到商家APP内,最后展示支付结果。如果用户没有安装支付宝 APP,商家 APP 内会调起支付宝网页支付收银台,用户登录支付宝账户,支付完后展示支付结果。目前支持手机系统有:iOS(苹果)、Android(安卓)。

  • 微信支付商户平台 - APP支付是指商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。适用于在移动端APP中集成微信支付功能的场景。

  • stripe-ios - The Stripe iOS SDK makes it quick and easy to build an excellent payment experience in your iOS app. We provide powerful and customizable UI screens and elements that can be used out-of-the-box to collect your users' payment details. We also expose the low-level APIs that power those UIs so that you can build fully custom experiences.

Player

Video Player

  • 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和控制层)。【 Priview 1 | Priview 2 | Priview 3

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

  • QPlayer - A powerful video player that you can't miss, supports m4v, wmv, 3gp, mp4, mov, avi, mkv, mpeg, mpg, flv, rm, rmvb, mp3 format. Enter any HTTP, RTSP, RTMP, HLS address play network streaming or live. QPlayer use ffmpeg,you can transfer files via wifi. It aggregates several live, video and short video platforms, and you can watch live, video and short video online. 【 Priview 1 | Priview 2 | Priview 3 | Priview 4

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

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

  • kxmovie - movie player for iOS using ffmpeg. 【 Priview

  • 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。【 Priview

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

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

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

  • vlc-ios - VLC for iOS and tvOS official mirror.

  • vlckit - VLCKit is a generic multimedia library for any audio or video playback needs on macOS, iOS and tvOS.

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

  • LMIJKPlayer - 基于IJKPlayer,支持横屏、竖屏,上下滑动调节音量、屏幕亮度,左右滑动调节播放进度, 支持横竖屏UI不同的完整播放器Demo。

  • LMAVPlayer - 基于苹果原生AVPlayer,支持横屏、竖屏,上下滑动调节音量、屏幕亮度,左右滑动调节播放进度, 支持横竖屏UI不同的完整播放器Demo.

  • Eleven - a simple powerful video player. Support m4v, wmv, 3gp, mp4, mov, avi, mkv, mpeg, mpg, flv, vob format.Enter any HTTP, RTSP, RTMP, RTP address play network streaming or live.Eleven player use ffmpeg.

  • KSYMediaPlayer_iOS - 金山云iOS播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds) 。与系统播放器MPMoviePlayerController接口一致,可以无缝快速切换至KSYMediaPlayer;本地全媒体格式支持, 并对主流的媒体格式(mp4, avi, wmv, flv, mkv, mov, rmvb 等 )进行优化;支持广泛的流式视频格式, HLS, RTMP, HTTP Rseudo-Streaming 等;低延时直播体验,配合金山云推流sdk,可以达到全程直播稳定的4秒内延时;实现快速满屏播放,为用户带来更快捷优质的播放体验;支持画面旋转,音量调节等各种功能;

  • MRDLNA - 纯OC实现的iOS DLNA 投屏功能, 支持各大主流电视盒子(小米,华为,乐视,移动魔百盒等), 可以播放,暂停,快进退,调音量,退出.

  • DLNA - DLNA sample code using CyberLink Objective-C Wrapper. This sample can browse contents from DMS and play content at DMR.

  • DLNA_iOS_Platinum - DLNA server on iOS using Platinum. This APP is an implementation of a DLNA media server powered by Platinum libs. It can publish the media files in iTunes and Photo Album to any DLNA player which is in the same network enviroment.

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

  • GSPlayer - ⏯ Video player, support for caching, preload, fullscreen transition and custom control view. 视频播放器,支持边下边播、预加载、全屏转场和自定义控制层。

  • VersaPlayer - Versatile Video Player implementation for iOS, macOS, and tvOS.

Audio Player

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

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

  • GKWYMusic - iOS基于FreeStreamer的仿网易云音乐播放器。【 Priview 1 | Priview 2

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

  • AudioPlayer - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote).

  • FRadioPlayer - A simple radio player framework for iOS, macOS, tvOS.

  • SwiftAudioPlayer - Streaming and realtime audio manipulation with AVAudioEngine.

  • PFXPlayer - 뮤직 플레이어 앱 - RxSwift, RxCocoa, RxDataSource, RxGesture.

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

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

RTC

  • anyRTC-RTMP-OpenSource - RTMP 推流器,RTMP(HLS)秒开播放器,直播点播,跨平台(Win,IOS,Android)开源代码

  • WebRTC - Unofficial distribution of up to date WebRTC framework binaries for iOS and macOS.

  • WebRTC-Swift - A simple native WebRTC demo iOS app using swift.

  • WebRTC-ObjC - WebRTC for iOS.

  • apprtc-ios - A native iOS video chat app based on WebRTC.

  • webrtc-sdk - WebRTC SDK for iOS/mac (Cocopods Specs).

  • flutter-webrtc - WebRTC plugin for Flutter Mobile/Desktop/Web.

  • WebRTC_IM - 纯 go 实现的分布式IM即时通讯系统。一对一呼叫、邀请呼叫、音视频通话、多人通话、在线教学、在线医疗、腾讯会议,Zoom会议,钉钉课堂等多人音视频交互类场景.

  • EasyRTC - EasyRTC视频会议系统一款强大的实时音视频通话产品,支持语音会议、视频会议、会议录像、会议回放、旁路直播、会议管理控制、文档共享、视频共享等功能,是一款广泛应用于在线教育、互动课堂、视频会议、应急指挥的即时通信平台。

IM-Live

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

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

  • MessageKit - A community-driven replacement for JSQMessagesViewController.

  • JSQMessagesViewController - An elegant messages UI library for iOS. This library is deprecated.

  • Chatto - A lightweight framework to build chat applications, made in Swift.

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

  • JetChat - Swift5.0编写的简仿微信聊天应用,完美支持表情键盘、单聊、群聊、本地消息会话缓存。【 Priview

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

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

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

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

  • LFLiveKit - LaiFeng IOS Live Kit,H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate.

  • LXPlayerLive - 一步步搭建视频直播系统,基于LFLiveKit+ijkplayer+rtmp(iOS端)。

  • inke-demo - 仿映客直播app(最新)原版礼物列表,直播弹幕,最新热门页面,原版动画登陆页,实现了oc项目使用Socket.IO-Client-Swift 绑定后台node服务器实现实时聊天功能。

  • WZHLiveShow - IOS视频直播 + 推流实现 采用当前主流开源框架B站的ijkplayer 以及优酷土豆旗下的LFLiveKit实现推流。

  • ATijkplayeriOS - 1、编译ijkPlayer,支持RTSP拉流播放,支持http等格式。2、加入了MD360Player4iOS,实现视频的全景渲染。3、MovieRecorder用实时拉过来的音视频数据进行录视频。4、LFLiveKit用拉流过来的原始音视频数据(YUV、PCM)进行推流直播。

  • LFLiveKit_Record_Recode - 因为个人项目需要,对边推边录可定制性要求较高,LFLiveKit录制功能可定制性较低,此项目重构了其录制接口,方便项目需要。

  • LiveVideoCoreSDK - LiveVideoCoreSDK是基于IOS的视频直播SDK(支持IOS8.1以上,基于开源videocore进行了改进),多滤镜IOS推流SDK: 基于GPUImage的多滤镜拍摄, 滤镜资源丰富. GPUImageRtmpPush。

  • 七牛(QiNiu)

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

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

  • QNRTC-iOS - QNRTCKit 是七牛云推出的一款适用于 iOS 平台的实时音视频 SDK,提供了包括音视频通话、美颜、滤镜、水印等多种功能,提供灵活的接口,支持高度定制以及二次开发。

  • Agora

  • Basic-Video-Call - Sample app to join/leave a channel, mute/unmute, enable/disable the video, and switch between front/rear cameras.

  • AgoraRtcEngine_iOS - iOS Package for Agora Video RTE SDK. Perfect for video calls and live streaming.

  • AgoraRTM_iOS - Agora's Real-time Messaging SDK Swift Package for iOS 📦.

  pod 'AgoraRtmKit', '~> 1.5.2'
  pod 'AgoraRtm_iOS', '~> 1.5.1'
  pod 'AgoraRtcEngine_iOS', '~> 4.0.1'
  • Signal-iOS - Signal is a free, open source, messaging app for simple private communication with friends.

WiFi File Transfer

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

  • GCDWebServerDemo - 使用GCDWebServer框架实现wifi局域网传输文件到iPhone的功能。

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

  • HTTPServerDemo - 使用CocoaHTTPServer框架实现wifi局域网传输文件到iPhone的功能。

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)
        }
    }
}
  • Stevia - 🍃 Concise Autolayout code.

  • PureLayout - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible.

  • EasySwiftLayout - Lightweight Swift framework for Apple's Auto-Layout

FlowLayout

  • PinterestLayout - Custom collection view layout inspired by Pinterest layout. Written in Swift.

  • VegaScroll - ↕️ VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9.

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

  • CustomLayout - UIcollectionViewLayout 自定义layout 瀑布流 支持多区瀑布流 支持设置footer和header.

  • UPCarouselFlowLayout - A fancy carousel flow layout for UICollectionView on iOS.

  • BouncyLayout - Make. It. Bounce.

  • TangramKit - TangramKit is a powerful iOS UI framework implemented by Swift. It integrates the functions with Android layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,LayoutSizeClass to build your App 自动布局 UIView UITableView UICollectionView.

  • GravitySlider - 🔄 GravitySlider is a beautiful alternative to the standard UICollectionView flow layout.

  • RDHCollectionViewGridLayout - Grid layout for UICollectionView.

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

  • CardSlider - Innovative twist to Tinder cards for iOS.

  • GravitySlider - 🔄 GravitySlider is a beautiful alternative to the standard UICollectionView flow layout.

  • OnlyPictures - A simple and flexible way to add source of overlapping circular pictures, currently supports horizontal overlapping or distant pictures with great layout flexibility.

  • uicollectionview-layouts-kit - 📐Custom layouts for UICollectionView with examples [iOS 12+].

  • ZLCollectionView - 为应对类似淘宝首页,京东首页,国美首页等复杂布局而写的Collectionview。基于UICollectionView实现,目前支持标签布局,列布局,百分比布局,定位布局,填充式布局,瀑布流布局等。支持纵向布局和横向布局,可以根据不同的section设置不同的布局,支持拖动cell,头部悬浮,设置section背景色和自定义section背景view,向自定义背景view传递自定义方法。功能强大,超过Android的recyclerview,实现了电影选座等高难度的布局。【 Preview

逆向开发

fishhook

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

逆向辅助工具

逆向案例

安全攻防和应用加固

数据安全和算法

  • DYFCryptoUtils - 🔥一行代码实现 iOS Base64, 32/16位MD5, DES, AES, RSA算法,操作简单好用。(Achieves Base64, 32/16 bit MD5, DES, AES and RSA algorithms for iOS with one line of code. The operation is simple and easy to use.)【 Priview

  • 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. 【 Priview

  • 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.

Zip

  • Zip - Swift framework for zipping and unzipping files.

  • ZipArchive - ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.

  • zip - A portable, simple zip library written in C.

  • ZipKit - An Objective-C Zip framework for macOS and iOS.

  • GZIP - A simple NSData category for gzipping/unzipping data in iOS and MacOS.

  • GzipSwift - Swift package that enables gzip/gunzip Data using zlib.

Blockchain

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

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

  • 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. 【 Priview

  • web3 - Web3 and Geth wrapper utility in swift www.mercuryprotocol.com

  • 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. 【 Priview

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

  • 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.

  • XRPKit - XRPKit is a Swift SDK built for interacting with the XRP Ledger. XRPKit supports offline wallet creation, offline transaction creation/signing, and submitting transactions to the XRP ledger. XRPKit supports both the secp256k1 and ed25519 algorithms. XRPKit is available on iOS, macOS and Linux. WIP - use at your own risk.

  • phoenix - Phoenix is a self-custodial Bitcoin wallet using Lightning to send/receive payments.

Networks

网络相关内容: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.

  • RxNetworks - 🧚Network API With RxSwift + Moya + HandyJSON + Plugins. pod 'RxNetworks', pod 'RxNetworks/MoyaPlugins/Cache' or pod 'RxNetworks/MoyaPlugins/Loading'

At present, 6 plugins have been packaged for you to use: 
Cache: Network Data Cache Plugin 
Loading: Load animation plugin Indicator: Indicator plugin
Warning: Network failure prompt plugin
Debugging: Network printing, built in plugin
GZip: Network data unzip plugin
  • RxNetwork - A swift network library based on Moya/RxSwift. pod 'RxNetwork' or pod 'RxNetwork/Cacheable'

  • Reachability.swift - Replacement for Apple's Reachability re-written in Swift with closures.

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

  • YTKNetwork - YTKNetwork is a high level request util based on AFNetworking.

  • AsunNetwork - Moya+HandyJSON网络请求库。

Navigation

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

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

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

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

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

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

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

  • YPNavigationBarTransition - A Full functional UINavigationBar framework for making bar transition more natural! You don't need to call any UINavigationBar api, implementing YPNavigationBarConfigureStyle protocol for your view controller instead. (类似微信 iOS Navigation Bar 的切换方案)

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

Side Drawer

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

  • CWLateralSlide - One line of code to integrate 0 coupling side drawer!一行代码集成0耦合侧滑抽屉!

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

  • KYDrawerController - Side Drawer Navigation Controller similar to Android.

  • LeftRightSlider - 网易 ios7 左右拉动框架。

  • JVFloatingDrawer - An easy to use floating drawer view controller.

  • KGFloatingDrawer - A floating navigation drawer with an interesting animated presentation written in Swift.

  • FlowingMenu - Interactive view transition to display menus with flowing and bouncing effects in Swift

  • TVOSSlideViewController - Container view controller with left and right drawer controlling by pan gesture for tvOS.

  • RNBlurredSideViewController - RNBlurredSideViewController is a side view controller with a dynamic blurred background effect when swiping similar to the iOS 7 control center.

Runtime

Data Persistence

DB, Keychain, NSUserDefaults, Write

  • realm-swift - Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS, macOS, tvOS & watchOS versions of Realm Swift & Realm Objective-C.

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

  • wcdb - WCDB is a cross-platform database framework developed by WeChat.

  • DYFSwiftKeychain - DYFSwiftKeychain is used to save text and data in Keychain securely for iOS, OS X, tvOS and watchOS. ( DYFKeychain (Objective-C) )

  • 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.

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

  • MagicalRecord - Super Awesome Easy Fetching for Core Data!

Bluetooth

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

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

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

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

  • MultipeerConnectivity - 蓝牙MultipeerConnectivity。

  • WEBlueToothManager - 🐱一个蓝牙4.0的智能硬件架构。(blog)【 Priview 1 | Priview 2

  • 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.

  • IOS-CoreBluetooth-Mock - The Core Bluetooth Mock library was designed to emulate Core Bluetooth objects, providing easy way to test Bluetooth-enabled apps. As the native Bluetooth API is not supported on a simulator, using this library you can run, test and take screenshots of such apps without the need of a physical phone or tablet. You may also start working on the iOS app when your peripheral is still under development.

Gesture-Biometric Unlock

  • DYFAuthIDAndGestureLock - 手势密码解锁 和 TouchID(指纹)/ FaceID(面容)解锁,代码简洁高效。(Gesture passcode unlocking and TouchID (fingerprint) / FaceID (facial features) unlocking, concise code and efficient.)【 Priview

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

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

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

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

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

BlurView

PhotoViewer

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

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

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

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

  • TZImagePickerController - 一个支持多选、选原图和视频的图片选择器,同时有预览、裁剪功能,支持iOS6+。 A clone of UIImagePickerController, support picking multiple photos、original photo、video, also allow preview photo and video, support iOS6+.

  • AnyImageKit - A toolbox for pick/edit/capture photo or video. Written in Swift.【 Priview

  • PhotoBrowser - Elegant photo browser in Swift. 图片与视频浏览器。

  • Lantern - Lantern(花灯)是一个基于Swift的高可用视图框架。它基于iOS原生的图片/视频浏览功能进行封装,并提供了更加酷炫的交互方式。此外,它还提供丰富的接口,扩展灵活,能让App快速集成浏览功能。

  • GKPhotoBrowser - iOS仿微信、今日头条等图片浏览器。

  • YPImagePicker - 📸 Instagram-like image picker & filters for iOS.【 Priview1 | Priview2

Panorama

  • Fisheye - Open Source iOS 360 Degree Panorama Video Player. (HTY360Player is renamed to Fisheye).

  • MD360Player4iOS - It is a lite library to render 360 degree panorama video for iOS. VR Player.

  • CTPanoramaView - A library that displays spherical or cylindrical panoramas with touch or motion based controls.

  • Panorama - 用于房地产展示类软件3维展示与序列帧展示。

  • PanoramaGL - PanoramaGL全景展示(Xcode7~), fixed some issues,share to someone need it,support arm64.

  • MetalScope - Metal-backed 360° panorama view for iOS.【 Preview

  • Panorific - An immersive, intuitive, motion-based way to explore high quality panoramas and photos on an iOS device. Panorific is implemented in Swift.

  • Image360 - Special view & controller to display 360° panoramic images.

  • HSGLPanoViewer - A Panorama Browser using Swift and OpenGLES.

  • Panorama - implementation of the photo tilt gesture/UX found in Facebook's Paper app.

  • SKPanoramaView - Create beautiful animated panorama views. Inspired by the intro view on the LinkedIn iOS app.

  • OpenPano - Automatic Panorama Stitching From Scratch.

  • Panorama - Spherical panorama view, iOS.

Find The Most Relevant Colors

  • SOZOChromoplast - Inspired by functionality in iTunes' album view, SOZOChromoplast finds the most relevant colors in a given UIImage quickly and painlessly, giving you the perfect color scheme every time.

Scan

二维码,条形码相关内容

  • DYFCodeScanner - 一个二维码/条形码的扫码器,代码简洁高效。(A QR code and Barcode scanner for iOS. Its code is concise and efficient.) 【 Priview

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

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

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

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

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

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

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

Refresh

  • MJRefresh - An easy way to use pull-to-refresh. 【 Priview 1 | Priview 2

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

  • KafkaRefresh - Animated, customizable, and flexible pull-to-refresh framework for faster and easier iOS development.

  • PullToRefresh - This component implements pure pull-to-refresh logic and you can use it for developing your own pull-to-refresh animations.

  • PullToRefresh - A simple iPhone TableViewController for adding pull-to-refresh functionality (Objective-C).

HUD-Indicator

Toast

  • DYFToast - Fully imitating the Android toast, using chain programming, through point operation, it can achieve the properties settings and display of the toast, the code is concise and efficient.

  • Toast-Swift - 向UIView对象类添加Toast通知的Swift扩展(A Swift extension that adds toast notifications to the UIView object class.)。(Objective-C版) 【 Priview

  • Toaster - 🍞 Toast for Swift

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

  • 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-PopupView

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

  • LCSlideMenu - A powerful and easy to use slider menu. 【 Priview 1 | Priview 2 | Priview 3

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

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

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

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

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

  • REMenu - Dropdown menu inspired by Vine. 【 Priview

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

  • SHESelectTable - 下拉选择的列表。【 Priview

  • MMComboBox - A comboBox contained three kinds of style. 【 Priview

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

  • 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. 【 Priview

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

  • 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 版本适配!【 Priview 1 | Priview 2

  • FWPopupView - 弹窗控件:支持AlertView、Sheet、自定义视图的PopupView。AlertView中可以嵌套自定义视图,各组件的显示隐藏可配置;Sheet仿微信样式;同时提供自定义弹出。更多配置请参考”可设置参数“,提供OC使用Demo。

  • LSTPopView - iOS万能弹窗。

  • DropDown - A Material Design drop down for iOS.【 Preview

  • iOSDropDown - Drop Down Menu for iOS With Search And Other Awesome Customisation.【 Preview1 | Preview2

  • MenuItemKit - UIMenuItem with image and closure(block) action.

  • PMAlertController - PMAlertController is a great and customizable alert that can substitute UIAlertController.

  • WMZDialog - 功能最多样式最多的弹窗,支持普通/底部/日期/地区/日历/选择/编辑/分享/菜单/自定义弹窗等,支持多种动画,链式编程调用(Pop-up windows with the most functions and styles, support normal/bottom/date/region/calendar/select/edit/share/menu/custom pop-up windows, etc., support multiple animations, chain programming calls).

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

  • Alertift - Swifty, modern UIAlertController wrapper.

Slider

  • RangeSeekSlider - RangeSeedSlider provides a customizable range slider like a UISlider.

  • HGCircularSlider - A custom reusable circular / progress slider control for iOS application.

  • RSSliderView - Custom slider based on UIView for iOS. 【 Priview

  • 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.

  • fluid-slider - A slider widget with a popup bubble displaying the precise value selected. Swift UI library made by @Ramotion.

  • MultiSlider - UISlider clone with multiple thumbs and values, range highlight, optional snap intervals, optional value labels, either vertical or horizontal.

  • RangeSlider - A simple range slider made in Swift.

  • HBLockSliderView - 快速创建滑动解锁视图,高度自定义 Beautiful Slider View. Written in Objective-C. Similar in style to UISlider, but which allows you can make more customization.

PageControl

  • JXPageControl - 🚀🚀🚀 自定义pageControl指示器, 支持多种动画, 自定义布局。

  • WEIPageControl - 最新SWIFT 4.0 版自定义PageControl,椭圆,空心圆,方形点,图片点。

  • EllipsePageControl - 椭圆形 长方形 PageControl 轮播图点。

WebView-ProgressBar

  • WebController - Quick WKWebView 😄.

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

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

  • WYWebViewDemo - 进度条加载网页。【 Priview

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

  • DYFProgressView - Super useful progress bar and web page progress bar, the operation is simple and easy to use. 【 Priview

  • WebViewJavascriptBridge - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews.

  #ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs
  #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
  pre_install do |installer|
    dir_web = File.join(installer.sandbox.pod_dir('WebViewJavascriptBridge'), 'WebViewJavascriptBridge')
    Dir.foreach(dir_web) {|x|
      real_path = File.join(dir_web, x)
      if (!File.directory?(real_path) && File.exist?(real_path))
        if(x == 'WebViewJavascriptBridge.h' || x == 'WebViewJavascriptBridge.m')
          File.delete(real_path)
        end
      end
    }
  end

WebP

  • Swift-WebP - A thin Swift wrapper of libwebp to make your own encoder/decoder app.

  • webp.swift - Bindings for libwebp in swift for iOS and macOS + catalyst.

  • libwebp - Mirror only. Please do not send pull requests. mirrored from libwebp.

Animation

// 一些私有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);

Picker

  • BRPickerView - 封装的是iOS中常用的选择器组件,主要包括:日期选择器(支持年月日、年月等15种日期样式选择,支持设置星期、至今等)、地址选择器(支持省市区、省市、省三种地区选择)、自定义字符串选择器(支持单列、多列、二级联动、三级联动选择)。支持自定义主题样式,适配深色模式,支持将选择器组件添加到指定容器视图。。【 Priview 1 | Priview 2

  • PGDatePicker - 日期选择器,支持年、年月、年月日、年月日时、年月日时分、年月日时分秒、月日、月日时、月日时分、月日时分秒、时、时分、时分秒、分秒、月日周 时分等。

  • THCalendarDatePicker - A DatePicker based on a custom calendar view.

  • CXDatePickerView - 一个自定义的日期时间选择器。

  • DatePickerDialog-iOS-Swift - Date picker dialog for iOS.

  • ScrollableDatepicker - Yet another datepicker for iOS.

  • D2PDatePicker - Elegant and Easy-to-Use iOS Swift Date Picker.

  • RKCalendar - SwiftUI Simple Calendar / Date Picker for iOS.

  • alerts-and-pickers - Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date...

  • CalendarView - An Easy to Use Calendar for iOS (Swift 5.0).

  • RPicker - Simple and Easy-to-Use iOS Swift Date and Options Picker.

  • FSCalendar - A fully customizable iOS calendar library, compatible with Objective-C and Swift.

  • Fastis - 🗓 Simple date range & date picker powered by JTAppleCalendar.【 Preview

  • JTAppleCalendar - The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable.

Searching

Sharing

  • ShareSDK-for-iOS - ShareSDK是一个完全免费的社会化分享组件,为移动端的iOS App提供社会化功能。(MobTech)

  • U-Share SDK - 帮助应用或游戏快速具备国内外多平台分享、第三方登录功能,SDK包小,集成成本低,平台覆盖全,并基于友盟+大数据,提供权威、实时的用户画像、分享回流等数据分析,助力产品开发与推广。(友盟)

  • MonkeyKing - MonkeyKing helps you to post messages to Chinese Social Networks.

  • 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. 【 Priview

CodeUnit-AuthenticationCode

  • KeenCodeUnit - 自定义的验证码、支付密码文本框,支持明文、密文输入等,支持内容的验证错误处理。

  • CRBoxInputView - Verify code input view. Support security type for password.短信验证码输入框,支持密文模式。

  • ZLSecurityCode - iOS-字符图片验证码。【 Priview

  • AuthenticationCode - 关于iOS开发的一个本地生成的图片验证码demo。

  • MQVerCodeView - 类似图片验证码,点击可刷新。【 Priview

  • YanZhengCode - 图片验证码和滑块验证码。【 Priview

Device Info

Ad

  • ZLAdvertDemo - 启动页加载广告。【 Priview

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

  • LaunchAd - 启动页广告。【 Priview

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

Star View

Categories-Extensions

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

  • MJExtension - A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.

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

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

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

  • KJCategories - Collection of native ios extensions and classes to boost development process. Such as UIKit, Foundation, QuartzCore, Accelerate, OpenCV, CoreGraphics, os and more. 超实用开发加速工具收集。

Jailbreak Detector

  • 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.

Sensor

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

TextView

  • GrowingTextView - An UITextView in Swift. Support auto growing, placeholder and length limit.

  • GrowingTextView - A text view which grows with the text changes and starts scrolling when the content reaches a specified number of lines.

  • GrowingTextView - [UNMAINTAINED] An UITextView which grows/shrinks with the text and starts scrolling when the content reaches a certain number of lines. Similar to the one Apple uses in the SMS-app. See blog-post for a small screencast.

  • RealtimeGradientText - Gradient Text in Real.【 Preview

  • NextGrowingTextView - 📝 The next in the generations of 'growing textviews' optimized for iOS 8 and above.

Label

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

  • UICountingLabel - Adds animated counting support to UILabel. 【 Priview

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

  • RZColorfulSwift - NSAttributedString 富文本方法 (图文混排、多样式文本) (RZColorful Swift版) UILabel 折叠 展开 文本可点击。

  • ZSSRichTextEditor - ZSSRichTextEditor is a beautiful Rich Text WYSIWYG Editor for iOS. It includes all of the standard editor tools one would expect from a WYSIWYG editor as well as an amazing source view with syntax highlighting.【 Preview

  • WordPress-Editor-iOS - ⛔️ [DEPRECATED] A reusable iOS rich text editor component.

  • WordPress-Editor-iOS-Extension - WordPress-Editor-iOS-Extension 是从WordPress-Editor-iOS 的扩展,他支持“从相册中选择”,“拍照”,“插入网络图片”三种方式。并允许用户可以定制编辑器的工具栏。

ImageView

Crop video cover

Waver

  • Waver - A Siri like wave effect.

  • DSWaveformImage - Generate waveform images from audio files on iOS & macOS in Swift. Native SwiftUI & UIKit views.

Doodling

  • doodlAR - An AR Based Doodling App for iOS.

CheckBox

  • BEMCheckBox - 一个可以很容易地为iOS创建漂亮的、高度可定制的动画复选框。

Theme Change

Architecture Design Pattern

  • SwiftHub - GitHub iOS client in RxSwift and MVVM-C clean architecture.

  • ReactorKit - A library for reactive and unidirectional Swift applications

  • ios-mvp-clean-architecture - Demo iOS application built to highlight MVP (Model View Presenter) and Clean Architecture concepts.

  • Swift-MVP-Sample - It's an iOS simple project that how I implement MVP (Model-View-Presenter) and Clean Architecture in Swift.

  • MVPExample - MVPExample.

  • MVPExample - 一个MVP的Demo,展示了在iOS平台上如何实现MVP模式。

  • ReactiveSwiftFlickrSearch - A Swift implementation of a Flickr-search application that uses MVVM and ReactiveCocoa.

Ping

  • SimplePing - SimplePing example written in swift 4.

  • PPSPing - iOS端的一个ping网络工具,修复之前不能并发ping的问题,加入了可以通过cocoapod集成。

Uncategorized

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

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

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

    • EasyRSS - A rss reader for ios based on easyios.
  • NJKScrollFullScreen - Scroll to full screen like Facebook app. 【 Priview

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

  • timeLineiOS - DropIn TimeLine with progress animatiom. 【 Priview

  • SCIndexView - SCIndexView provide a index view like Wechat. 【 Priview 1 | Priview 2

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

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

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

  • DraggingSort - 长按拖拽排序。【 Priview

  • 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.

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

  • corelib - iOS常用封装类库。

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

  • YXCollectionView - UICollection学习总结以及案例集合。【 Priview 1 | Priview 2

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

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

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

Tools

  • SwiftLint - A tool to enforce Swift style and conventions.

  • SwiftFormat - A command-line tool and Xcode Extension for formatting Swift code

  • Prelude - Swift µframework of simple functional programming tools

  • Kickstarter-Prelude - A collection of useful Swift tools that are used in the Kickstarter apps.

  • Expression - A cross-platform Swift library for evaluating mathematical expressions at runtime.

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

  • UniversalProject - 基于MVC架构的iOS轻量级框架,封装了基类、基于猿题库YTKNetwork的网络服务、工具库,NavigationController转场动画/瀑布流/粒子动画/小demo,已适配iOS11 & iPhone X。

  • AsunGiftModule - 自定义Operation队列展示礼物动画~

SwiftUI Learning

  • swiftui - Declare the user interface and behavior for your app on every platform.

  • SwiftUI - SwiftUI Framework Learning and Usage Guide. 🚀

Projects-Demo

  • LBXMLYFM-Swift - Swift5项目仿写喜马拉雅App,采用MVC+MVVM设计模式,Moya+SwiftyJSON+HandyJSON网络框架和数据解析。数据来源抓包及部分本地json文件。

  • iOSProject - iOS project of collected some demos for iOS App. (Swift版) 【 Priview 1 | Priview 2

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

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

  • BingFenShiJia - 缤微纷购。

  • ifanr - 高仿爱范儿。

  • meituan - 高仿美团iOS版,版本号5.7。【 Priview

  • nuomi - 高仿百度糯米iOS版,版本号5.13.0。【 Priview 1 | Priview 2

  • U17 - 精仿有妖气漫画(Swift5)。【 Priview 1 | Priview 2 | Priview 3 | Priview 4

  • LBU25-Swift - Swift5 精仿漫画类App(有妖气漫画),Moya+SwiftyJSON+HandyJSON网络框架和数据解析。数据来源真实接口获得。

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

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

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

  • 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加载网页等技术。

  • DHPRO - 二维码,画圆角, tableView列表联动,收缩列表,图片放大,FMDB数据库,水波动画,仪表盘,自适应列表,绘画板,转盘,长按移动,PhotoClip,循环滑动ScrollView,UICollectionView卡片动画,图片找不同,导航栏程序框架。

  • App-Store - 仿App-Store 基本框架。

  • douyin-ios-objectc - 抖音 iOS Object-C版。(douyin-ios-swift - 抖音 iOS Swift版。)

  • SimulatorRemoteNotifications - Library to send mock remote notifications to the iOS simulator. This project includes the iOS Simulator Notifications MacOSX app to help you send the mock notifications.

  • MPPlayerDemo - ZFPlayer进行播放,KTVHTTPCache负责预加载的一个播放器Demo。

MacOS

  • dSYMTools - dSYM analyze. 【 Priview

  • IPAPkgTool - 一款自动化打包ipa的MacOS应用。(A MacOS application that packs ipa automatically.) 【 Priview

  • 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) 【 Priview 1 | Priview 2

  • 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. 【 Priview

  • 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. 【 Priview

  • 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. 【 Priview

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

  • wallpapper - 💻 Console application for creating dynamic wallpapers for macOS Mojave and newer.

  • iina - The modern video player for macOS.

  • Security - The iOS and OS X versions of Security, including securityd and SecurityTool for OS X.

  • mDNSResponder - The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative: http://developer.apple.com/bonjour/

  • objc4 - objc4.

About

提供iOS精选列表,包含Objective-C和Swift项目,涉及鸿蒙开发、Flutter、React Native、Weex、H5、小程序、区块链、数据库、游戏开发等教程(Provides a curated list of awesome iOS, including Objective-C and Swift Projects, covering tutorials on HarmonyOS development, Flutter, React Native, Weex, H5, mini programs, blockchain, databases, game development, and more.)。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published