@[TOC](Swift Open Source Project Summary)

1. Complete project

1.1 Live streaming apps

  • Swift live broadcast platform XJTV:
  1. XJ Live is a live broadcasting platform developed based on Swift3.0.
  2. The whole project was written using MVVM architecture + responsive programming + Swift3.0, mainly to practice Swift3.0 grammar and the use of MVVM;
  3. This project uses video acquisition, coding, decoding and other technologies, using the current mainstream third-party framework IJKMediaFramework;
  4. In the local use of Socket to build a simple server, used to simulate the interaction between the client and server;
  5. The project mainly uses the technology of text and text mixing, bullet screen, particle animation, custom animation and so on.
  6. Xib, Storyboard, Storyboard Reference, automatic layout advanced use.
  7. UITabbarController, UICollectionView, UIScrollView advanced use.
  8. Download address: pan.baidu.com/s/1pKYx8Sj password: jkri
  • Swift fine imitation of demonic comics: 90% fine imitation of the original demonic comics (login, recharge and other functions involving copyright or membership are not implemented), Using the three-party framework, thanks to SnapKit, Then, Moya, HandyJSON, Kingfisher, Reusable, LLCycleScrollView, MJRefresh, MBProgressHUD, HMSegmentedControl, IQKeyboardManagerSwift, EmptyDataSet-Swift

  • A video App written by Swift: Doushi is a video App written by Swift.

1.2 Security apps

1.3 News Apps

  • Xx Headlines: Dancheng Hometown local life service APP focuses on information release, brand promotion of merchants, dating and making friends, job hunting and recruitment, looking for classmates, eating and drinking, and other convenient information. (briefly)
  • DesignerNewsApp: Simple iOS Client for DesignerNews, by the Creator of Design+Code and the team, written in Swift.
  • SwiftHN: A Hacker News reader in Swift
  • Qiushibaike client: Based on Swift, a simple qiushibaike client is created with the API of Qiushibaike, which can browse various jokes, browse funny pictures, view wonderful comments, etc.
  • Imitation zhihu Daily: The application of imitation Zhihu daily newspaper realized by Swift
  • TodayNews: A swift version of Toutiao.
  • Swift high imitation Himalaya FM

    OC version: Download here

1.4 E-commerce Apps

  • Simple sugar: Good life guide: home snacks, gifts beauty makeup, overseas shopping. (Introduction)

  • Aixianfeng: a relatively complete e-commerce project.

  • Swift2.0: A travel app

  • Imitation of “Miaohui” e-commerce project: a relatively complete e-commerce app

  • Swift high Imitation project, Heap of sugar: an app that mimics e-commerce

  • ECMobile_iOS: Mobile shopping app based on ECShop
  • ECMobile mall at all ends

1.5 Cross-platform App

1.6 Tool Apps

  • Edhita: Text editor that supports Markdown, HTML preview
  • Firefox -ios: From the Mozilla development team’s large pure Swift project
  • SwiftWeather: Continuous Improvement Weather Forecasting project
  • VPNOn: indicates the VPN switch application residing in the notification center.
  • WordPress-ios: A social app for editing
  • Eidolon: This is a core Artsy Mobile OSS project, along with Eigen, Energy, Emission and Emergence.
  • Dunk: An icon processing and reading tool
  • Charter: A Swift mailing list client for iPhone and iPad
  • CVCalendar: A calendar tool written by SwifT4
  • Gulps: an applewatch APP written by swift, lets you keep track of your daily water consumption.
  • Swift wrote the Oakland client:
  • Swift open source text editor for iOS platform.
  • Open source iPhone client source in China
  • Official Coding client
  • GitHub third-party client
  • Weather application Swift Weather: Swift Weather is a Weather application written by Swift, its source code is no problem powerful. By learning it, you can get familiar with Swift language, learn how to use Cocoapods, Core Location and other knowledge in Swift project, is definitely a model to let you know more similar application development details.

1.7 Game apps

  • Flappy: An Implementation of Flappy Bird in Swift for iOS 8.
  • Swift-2048 Games: 2048 games written by Swift
  • FlappyBird games from SpriteKit: SpriteKit is a new built-in framework for iOS 7, designed to develop 2D games.
  • Stick Hero Swift: An open source game written with Swift2 + Spritekit.

1.8 Social apps

  • Wire-ios: a VoIP phone app

The Wire mobile app has an architectural layer that we call sync engine . It is the client-side layer that processes all the data that is displayed in the mobile app. It handles network communication and authentication with the backend, push notifications, local caching of data, client-side business logic, signaling with the audio-video libraries, encryption and decryption (using encryption libraries from a lower level) and other bits and pieces.

  • Yep: A lightweight social app written by MVC + Rxswift

Yep is a nifty and lightweight social networking app, revolving around the theme of “Meeting Genius”, enabling users to find experts or other learners of a particular domain. The project’s architecture is easy to understand, following the common software pattern MVC, separating UI, business logic and data model. Now, let’s dive into the Yep project!

  • TSWeChat:

Features:

  1. You can send rich text, emoticons, pictures and sounds.
  2. The images displayed in TSChatImageCell are drawn using Mask Layer, and you can freely switch between chat backgrounds so that the UI doesn’t look bad.
  3. Custom emoticons keyboard, custom tools keyboard.
  4. Recording waV files are automatically converted to AMR files for easy file transfer with Android devices. Both files have been cached. Upload using AMR file, playback using WAV file.
  5. When you click on the TSChatVoiceCell sound, it will automatically detect the cache, and if not it will automatically download using Alamofire.
  6. When you send an image, the system will use Kingfisher cache mechanism to store the image locally. After uploading successfully, the system will automatically change the image link to the MD5 value file name.
  7. The data is loaded from JSON files, and all models are created using ObjectMapper.
  • Acani Chats: Acani Chats is a very simple and elegant chat app with a clean and straightforward interface. Don’t underestimate the simplicity, though. You can learn and explore the syntax necessary for similar application development through source code hosted on Github. Acani Chats support foundational events such as contact portraits and a modern iOS user interface, which is a great example of how to start learning to develop a chat app.

1.9 Audio and video apps

  • Swift-radio-pro: a Radio app for Swift5

  • YouTube -iOS: a video player app written by Swift3.

  • SoundCloudSwift: Online music player written by ReactiveCocoa 4.0.

  • Baidu FM: an online music app

  • Kxmovie: iOS video player written in FFmPEG

  • Video App written by Swift:

1.10 Image processing APP

  • PixPic: a Swift prepared image, album processing app
  • Surge (Swift + Accelerate) : Developed on the Accelerate framework, Surge is used to perform matrix mathematics, digital signal processing, and image processing. In other words, it can quickly process complex mathematical, speech and image signals. And it still comes from the god Mattt.
  • SwiftFlickrApp: SwiftFlickrApp is a Flickr photo viewer written using Swift. You can view photos on a separate page as a grid or list, or zoom in and out. The Github hosted source code is quite informative and will give you some insights on how to use UICollectionView and AFNetworking.

1.11 Life Assistant App

  • IOS high imitation: Flower field nap 3.0.1: is a plant aesthetic life platform

1.12 payment app

  • Viewfinder: Mobile payments company Square has open-source Viewfinder, a photo app it acquired last year, including server-side, iOS and Android app code

1.13 AR/VR project App

  • ARKit2.0-Prototype: Simple example created using Apple ARKit2.0. Including image recognition and tracking, object detection, 3D scanning and so on.

1.14 Address Book Related

  • IContactU: ContactU is an app that reminds you to contact a specific person. Select the person in the contact list and set the time and content of the reminder. When the time is up, iContactU will remind you, and you can directly contact the person in the app through email, SMS, phone, etc.

1.15 the lottery class

1.16 the stock class

1.17 video class

1.18 Reader class

  • Hacker News reader: Hacker News comes from YCombinator, so there’s always top entrepreneurs talking, and the quality of user-generated content is far better than other entrepreneur-themed sites. Best of all, Hacker News has no intention of making money, its sole purpose is to attract and equip the next generation of entrepreneurs. Here’s a Hacker News reader, written in Swift, that provides a seamless user interface for viewing the latest and favorite messages and reading them directly from them.

2. The network library

Basic network framework

  1. Alamofire: Swift version of AFNetworking

2.1 the Socket

2.2 the TCP/IP

2.3 the Websocket

  1. Starscream: WebSocket client library.

2.4 WebRTC

3. Data processing

3.1 Json Data Parsing

  • SwiftyJSON: GitHub’s most developer-approved JSON parsing class

3.2 XML data parsing

  • AEXML: Simple and easy XML parsing class and examples

3.3 DB Storage Framework

3.3.1 DB processing framework

  • Sqlite. swift: A type-safe SQLite3 wrapper for pure Swift implementation, simple, lightweight, and the most SQL SQLite wrapper library to use. Features:

(1) simple query and parameter binding interface, (2) secure and automatic type data access, (3) implicit commit and rollback interface, (4) developer-friendly error handling and debugging, (5) documentation, (6) extensive testing, (7) support for full text retrieval, (8) support for SQL Ciphers

  • Realm: Aims to replace Mobile databases with Core Data and SQLite. Realm is a mobile database that runs on phones, tablets, and wearables. Can make your app faster and have an incredible experience. The goal is to replace CoreData and SQLite databases. It currently supports iOS/OS X/Android platforms and provides Swift/Objective-C/Java language apis

  • Wcdb. swift: Open source framework developed by Tencent and used by wechat. Very simple to use.

  • RealmIncrementalStore. Swift – RealmIncrementalStore. Swift: set Realm database and CoreData object model both advantages to the Realm of database access class library.

  • Fluent. Swift – Pure Swift implementation of type-safe SQLite3 encapsulation, data storage and JSON parsing is an eternal topic.

  • Swiftydb – is a third-party SQLite tool that greatly simplifies database operations. If you don’t trust Realm, use SwiftyDB instead. Use tutorials and demos

  • SwiftStore – Key-Value store for Swift backed by LevelDB :large_orange_diamond:

  • SQL Database Abstraction layer API library Swift-Kuery:

Swift-kuery is a pluggable SQL database driver/SDK abstraction layer. The main idea is to provide an API that can operate various relational databases, including PostgreSQL, SQLite, and MySQL. Swift-kuery is not an object relational mapping (ORM), but it provides a great foundation for building ORMs. Swift-kuery can be useful if you don’t want to use a specific database and allow easy switching between different databases.

  • SQLite database toolkit grdb. swift: Grdb. swift is an SQLite database toolkit, mainly used for application development. GRDB gives you a lot of glue code compared to SQLite.Swift or FMDB. It simplifies your multithreaded applications compared to Core Data or Realm.
  • Swift SQLite o-R mapping tool class library swiftyDB: SwiftyDB is a type safe, protocol-based SQLite database tool class library, you can easily persist any object, pure Swift implementation.
  • Swift ORM Framework SwiftyDB: SwiftyDB is an ORM framework based on SQLite database. It is written in Swift and supports Objective-C. Its features are: thread safety, nested things, model manipulation, support for migration, easy to use.
  • Locksmith: Locksmith is a powerful, protocol-oriented library for using Keychain in Swift.
  • Persistent library Pantry: a library that can persist variable values of the underlying type.

3.3.2 CoreData processing framework

  • Breeze – A lightweight CoreData management tool written in Swift that also supports iCloud.
  • AlecrimCoreData – Swift, which makes it easier to access the CoreData object wrapper class library. In addition to CRUD, it also provides pointer positioning, powerful sorting and filtering, asynchronous data fetching, and independent thread background access to data.
  • Graph.swift – A New and simple Core Data-driven Framework library by Daniel Dahan
  • QueryKit: QueryKit, a simple type-safe CoreData query language. Support for Swift and Objective-C.
  • CoreValue: CoreValue is a lightweight wrapper framework for Core Data. It also contains some simple abstractions that make it easy to query, update, save, and delete.
  • SwiftRecord: An extremely lightweight, easy-to-use object persistence library based on Core Data.
  • AlecrimCoreData: AlecrimCoreData is a powerful and simple CoreData wrapper framework written in Swift and inspired by MagicalRecord and LINQ. It provides multiple functions to get, create, update, and save entities, as well as to get and save entity objects in background threads if necessary. In the future, iCloud support will be added for SQLite storage types, aggregation and migration methods will be added, source documentation will be added, unit tests will be created, sample projects will be created, etc.

3.4 Cache Processing

  • Cache. Swift – a simple, easy-to-use Cache library. Support for MemoryCache, DiskCache, and MultiCache of the first two combinations.

4. Graphic processing

4.1 Image Processing

  • GPUImage2. Swift – Swift is based on the GPU image and video processing framework library.
  • ShinpuruImage – Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond:
  • Core -image-explorer – Core image Filter processing image- Swift, core image introduction
  • AAFaceDetection – AAFaceDetection — SWIFT, a simple, practical facial recognition package library. While the technology has evolved since iOS 5, there aren’t many really interesting apps yet.
  • Concorde – Swift, Concorde, a library for downloading and decoding progressive JPeGs that can be used to improve the user experience of your application.
  • ZoomTransition – Swift, using gestures to control the zoom in, zoom out, rotate and other freely changing effects of components and examples.
  • AFImageHelper – Swift, a useful extension library for UIImage and UIImageView, including coloring and gradient, clipping, scaling, and online image retrieval with caching.
  • PinterestSwift – Swift, Pinterest-style picture zooming and switching examples.
  • PhotoStackView-Swift – PhotoStackView- PhotoStackView, with instructions.
  • MPParallaxView – It’s an Apple TV Parallax view written in Swift.
  • SDECollectionViewAlbumTransition – custom push and pop is used to implement the interesting iOS album opened the animation effects.
  • SKPhotoBrowser. Swift – Swift in the rules, practical picture browsing class library. The examples are also complete.
  • Nuke. Swift – complete, powerful and useful image management library. Key features include customizable loading, caching, filters and sizing.
  • Pagingview. swift – detail-oriented automatic layout PagingView component.
  • Swift – SwViewCapture. Swift – SwViewCapture. Swift – SwViewCapture. Swift – SwViewCapture. Swift – SwViewCapture. Swift is an iOS screenshot library that works well.
  • Filterpedia. Swift – Powerful image filter library demo.
  • Preview – Transition. swift – Complete, natural and smooth image preview and transition functions through guided code implementation steps.
  • CartoonEyes. Swift – After capturing the Image with a front-facing camera, a Core Image Face recognition CIDetector and a comic effect filter are used to compound the CartoonEyes.

4.2 compressed

4.3 SVG image processing

4.4 Statistical chart, etc

4.5 GIF image processing

  • Gifu: High-performance GIF display library

4.6 Network image processing

  • HanekeSwift: Lightweight, high-performance image loading component with cache
  • Toucan: small and beautiful picture transformation and processing class
  • DominantColor: Sample project to extract the main color of an image
  • ImageScout: Obtain the image size and type at the minimum network cost

5. The animation

5.1 Simple Animation

  • BWWalkthrough: Add smart animation effect in interface switch

6. The UI controls

6.1 Automatic Layout

  • Cartography: Swift declares Auto Layout

6.2 the UI adaptation

6.3 UI components

6.3.1 UILabel Custom

  • LTMorphingLabel: Effect of beautiful text flapping in and out
  • FloatLabelFields: FloatLabel Pattern Floating Label input effect class

6.3.2 UIButton Customization

  • Hamburgerbutton-menu /Close: Both the design and the code have been carefully crafted
  • Hamburgerbutton-menu /Back: Corresponding to the blog, the developer animation development experience is quite rich

6.3.3 UISwitch User-defined

6.3.4 UIScroll User-defined

6.3.5 Tabbar Custom

  • Moving-tab-bar: animated TAB bar class library for use in storyboard
  • AnimatedTabBar: AnimatedTabBar class library

6.3.6 UIProgress Progress bar

  • KYCircularProgress: Simple, practical path-definable progress bar

6.3.7 UIAlert User-defined

  • SweetAlert-iOS: a popover wrapper class that drives painting effects

6.3.8 Chart drawing

  • Pnchart-swift: a graphic control library for drawing effects
  • SwiftForms: Form submission library for fast development

6.3.9 Drop-down Refresh

6.3.10 Blur Effect

6.3.11 Automatic Layout

6.3.12 rich text

6.4 UI Map class

  • Whereami: Obtains the current device location from the command line
  • MapManager: Encapsulation library for map and path management
  • Swift Amap geographical location select Demo

7. The framework class

7.1 Responsive Framework

  • RxSwift – RxSwift: functional responsive programming framework.
  • Rxpermission. swift – RxPermission implemented by binding RxSwift.
  • Permission. Swift – Unified API for requesting iOS local device and resource permissions.
  • ReactiveAnimation – ReactiveCocoa launches a subproject called ReactiveAnimation, which is implemented directly and completely using Swift.

8. Audio and video processing

8.1 Audio Processing

  • AudioKit: Audio synthesis, processing and analysis platform (iOS, OS X, tvOS) framework library. Ease of use, functionality and professionalism.

8.2 Video Processing

8.2.1 Video and audio processing for photography

  • CameraManager – Camera management wrapper class library. Looks extremely useful — Swift.
  • RecordDemo. Swift – a swift language implementation can be used directly by the recording Demo
  • Swift-Radio-Pro – Professional Radio application integrated with LastFM (based on Swift 2.0).
  • Mobileplayer -ios. Swift – great highly customizable player project
  • Periscope – VideoViewController. Swift – a concise and practical video fast forward, rewind control view class library.
  • SkfSwiftCammer – a camera demo that calls swift in oc.
  • Bmplayer. swift – AvPlayer-based video player with Swift package, easy and quick integration, supports landscape and portrait screen, sliding up and down to adjust volume and screen brightness, sliding left and right to adjust playback progress.

9. Tools

9.1 “Wheel” Tools

  • SwiftyJSON: GitHub’s most developer-approved JSON parsing class
  • Dollar.swift: Swift version lo-Dash (or underscore) functional tool library
  • OAuthSwift: foreign mainstream website OAuth authorization class library
  • PathKit: small and beautiful path management class
  • XCGLogger: A full-featured log management library
  • Surge: Package library based on Apple Accelerate HIGH-PERFORMANCE computing framework
  • Async: concise background execution code encapsulation library
  • ∛27÷3+∑[3,1,2]
  • LocationManager: Location management encapsulation library
  • Siren: Notifies user when App updates and provides App Store link
  • BrightFutures: Long or complex computations are done asynchronously by separate threads
  • Design-patterns: How are common Design Patterns and examples used

9.2 framework class

  • AsyncDisplayKit: Provides interface switching with high fluency and more sensitive responses
  • Cartography: Code-level automatic layout encapsulation framework
  • MMWormhole: communication framework between iOS extensions and host applications
  • NetworkObjects: Lightweight Version of HttpServer framework, cross-platform solution
  • ExSwift: A Swift extension that contains a set of standard types and classes.
  • SwiftTask: SwiftTask is a state machine written in Swift, combining Promise+ Progress + Pause + Cancel, using SwiftState(an elegant state machine written in Swift).
  • HanekeSwift: Haneke is a lightweight universal iOS cache written in Swift that is easy to use.

9.3 PDF processing

9.4 Mode, test

  • Sleipnir: Sleipnir is a BDD (Behavior Driven Development) style framework for Swift, inspired by Cedar (a BDD style Objective-C testing framework). Core principles: Sleipnir does not rely on NSObject and is a pure Swift BDD testing framework; Sleipnir doesn’t use XCTest; Good command line output, support for custom test reports, and more.
  • Quick: Quick is a behavior-driven development testing framework for Swift and Objective-C. Borrowed from RSpec,Specta and Ginkgo.

9.5 Functional responsive framework

  • Dollar.swift: Dollar is a Swift library that provides useful functional programming AIDS without extending any built-in objects. Dollar is similar to lo-Dash or Underscore in Javascript.

10. Third-party frameworks, libraries

11. MVVM Framework project

11.1 RxSwift + Moya + MVVM + Realm project

  • SwiftBilibili: Based on RxSwift+ReactorKit, the highly imitative Bilibili project SwiftBilibili is described

Swift documentation class

Swift Learning Materials

  1. The Swift Programming Language
  2. Swift documentation and introduction for Apple developers
  3. Chinese version of Apple Official Swift tutorial (Github translation)
  4. Apple Swift programming language primer
  5. Swift Language Overview Chinese version
  6. Swift English document Markdown version
  7. Swift development video tutorial [Getting started]
  8. Letsswift compiles Swift Chinese tutorial
  9. List of Swift open Source projects on Github
  10. The first Swift community in China:
  11. SwiftGuide is a great Swift learning guide