Browse free open source Swift Libraries and projects below. Use the toggles on the left to filter open source Swift Libraries by OS, license, language, programming language, and project status.

  • Workspace management made easy, fast and affordable. Icon
    Workspace management made easy, fast and affordable.

    For companies searching for a desk booking software for safe and flexible working

    The way we work has changed and Clearooms puts you in complete control of your hybrid workspace. Both meeting rooms and hot desk booking can be easily managed to ensure flexible and safe working, however big or small your organisation.
    Learn More
  • Create and run cloud-based virtual machines. Icon
    Create and run cloud-based virtual machines.

    Secure and customizable compute service that lets you create and run virtual machines.

    Computing infrastructure in predefined or custom machine sizes to accelerate your cloud transformation. General purpose (E2, N1, N2, N2D) machines provide a good balance of price and performance. Compute optimized (C2) machines offer high-end vCPU performance for compute-intensive workloads. Memory optimized (M2) machines offer the highest memory and are great for in-memory databases. Accelerator optimized (A2) machines are based on the A100 GPU, for very demanding applications.
    Try for free
  • 1
    Files

    Files

    A nicer way to handle files & folders in Swift

    Files is a lightweight Swift library that provides a more expressive and user-friendly interface for working with files and directories compared to the native FileManager API. It abstracts common file system operations into an object-oriented model, enabling developers to interact with files and folders using intuitive constructs such as Folder and File types. The library simplifies tasks like reading, writing, moving, renaming, and deleting files while maintaining robust error handling through Swift’s try-catch mechanisms. It also supports recursive traversal of directory structures, making it easy to iterate through file trees for scripting or automation purposes. Designed primarily for Swift scripting and tooling, Files can also be embedded into applications that require file system access. Its implementation is compact and efficient, often contained within a single file, which makes it easy to integrate into projects without adding unnecessary complexity.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 2
    XcodeProj

    XcodeProj

    Read, update and write your Xcode projects

    XcodeProj is a library written in Swift for parsing and working with Xcode projects. It's heavily inspired by CocoaPods XcodeProj and xcode. Using swift-sh you can automate project-tasks using scripts, for example, we can make a script that keeps a project’s version key in sync with the current git tag that represents the project’s version. Future adaption could easily include determining the version and bumping it automatically. If so, we recommend using a library that provides a Version object. Want to start using XcodeProj? Start by digging into our documentation which will help you get familiar with the API and get to know more about the Xcode projects structure.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 3
    HaishinKit

    HaishinKit

    Camera and Microphone streaming library via RTMP and SRT for iOS, Mac

    Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 4
    Google Toolbox for Mac

    Google Toolbox for Mac

    Google Toolbox for Mac

    Google Toolbox for Mac (GTMSession) is a comprehensive collection of open source Objective-C utilities and frameworks developed by Google to support macOS and iOS application development. It consolidates reusable code components drawn from various internal Google projects, offering developers a wide range of tools for building efficient, maintainable Apple platform software. The library includes modules for networking, logging, testing, data handling, and user interface extensions, helping developers avoid reinventing common functionality. Its modular design allows developers to integrate only the components they need, improving project flexibility and performance. With well-documented interfaces and consistent coding standards, Google Toolbox for Mac serves as a reliable foundation for both small and large-scale applications. It continues to be widely used across open source and internal projects that target Apple ecosystems.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Remotely access and manage devices to provide on-demand IT support. View the screen and control a remote computer or mobile device. Icon
    Remotely access and manage devices to provide on-demand IT support. View the screen and control a remote computer or mobile device.

    Be Efficient Support Remotely

    ISL Light is an easy-to-use remote desktop software for security-conscious users. It comes at a great price-performance. ISL Light is a powerful tool that helps IT staff and support technicians solve problems remotely, either through unattended access, remote support or even though screen-sharing on mobile devices. It works cross-platform and offers 256-bit encrypted sessions with all standard remote access features plus some important extras: session recording, live chat, videocall, multi-monitor support, file transfer, reporting and many more. Users can choose between cloud or on-premise service. ISL Online license does not limit the number of users, workstations and clients you support. It's a reliable and highly secure software used in all industry sectors including banks, hospitals, governmental institutions and insurances.
    Free Trial
  • 5
    KMM ViewModel

    KMM ViewModel

    Library to share Kotlin ViewModels with SwiftUI

    A library that allows you to share ViewModels between Android and iOS. The latest version of the library uses Kotlin version 1.9.22. Compatibility versions for older and/or preview Kotlin versions are also available. When subclassing your Kotlin ViewModel in Swift you might experience some issues in the way those ViewModels are cleared. Since currentTimeFlow is a StateFlow we don't ever expect it to fail, which is why we are using the assertNoFailure. However, in this case you'll notice that the publisher will fail with a JobCancellationException. The problem here is that before the TimeTravelViewModel is deinited it will already be cleared. Meaning the viewModelScope is cancelled and onCleared is called. This results in the Combine publisher outliving the underlying StateFlow collection.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    daisyUI 4

    daisyUI 4

    The most popular, free and open-source Tailwind CSS component library

    The most popular, free, and open-source component library for Tailwind CSS.daisyUI adds component class names to Tailwind CSS so you can make beautiful websites faster than ever. In a Tailwind CSS project, you need to write utility class names for every element. Thousands of class names just to style the most basic elements.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 7
    FluentDarkModeKit

    FluentDarkModeKit

    A library for backporting Dark Mode in iOS

    FluentDarkModeKit was designed and developed before Apple‘s official dark mode release. It provides a mechanism to support dark mode for apps on iOS 11+ (including iOS 13). To use FluentDarkModeKit, provide a pair of colors or images instead of a single value. Simply replace existing colors/images with a pair of light and dark colors/images.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 8
    Himotoki

    Himotoki

    A type-safe JSON decoding library purely written in Swift

    Himotoki is a type-safe JSON decoding library written purely in Swift. This library is highly inspired by the popular Swift JSON parsing libraries: Argo and ObjectMapper.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 9
    Kingfisher

    Kingfisher

    Lightweight, pure-Swift library for downloading images from the web

    Kingfisher is a powerful, pure-Swift library for downloading and caching images from the web. It provides you a chance to use a pure-Swift way to work with remote images in your next app. Asynchronous image downloading and caching. Loading image from either URLSession-based networking or local provided data. Useful image processors and filters provided. Multiple-layer hybrid cache for both memory and disk. Fine control on cache behavior. Customizable expiration date and size limit. Cancelable downloading and auto-reusing previous downloaded content to improve performance. Independent components. Use the downloader, caching system, and image processors separately as you need. Prefetching images and showing them from the cache to boost your app. View extensions for UIImageView, NSImageView, NSButton and UIButton to directly set an image from a URL. Built-in transition animation when setting images. Customizable placeholder and indicator while loading images.
    Downloads: 4 This Week
    Last Update:
    See Project
  • Empower Your Workforce and Digitize Your Shop Floor Icon
    Empower Your Workforce and Digitize Your Shop Floor

    Benefits to Manufacturers

    Easily connect to most tools and equipment on the shop floor, enabling efficient data collection and boosting productivity with vital insights. Turn information into action to generate new ideas and better processes.
    Learn More
  • 10
    AAChartKit Swift

    AAChartKit Swift

    An elegant modern declarative data visualization chart framework

    An elegant modern declarative data visualization chart framework for iOS, iPadOS and macOS. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. AAInfographics is the Swift language version of AAChartKit which is object-oriented, a set of easy-to-use, extremely elegant graphics drawing controls,based on the popular open source front-end chart library Highcharts. It makes it very fast to add interactive charts to your mobile projects. It supports single touch-drag for data inspection, multi-touch for zooming, and advanced responsiveness for your apps. Unlike previous imperative programming techniques, drawing any custom chart in AAChartKit, you don't need to care about the inner implementation details which is annoying && boring. Describe what you want, you will get what you described.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Amazon Chime SDK for iOS

    Amazon Chime SDK for iOS

    An iOS client library for integrating multi-party communications

    The Amazon Chime SDK for iOS makes it easy to add collaborative audio calling, video calling, and screen share viewing features to iOS applications by using the same infrastructure services that power meetings on the Amazon Chime service. This Amazon Chime SDK for iOS works by connecting to meeting session resources that you have created in your AWS account. The SDK has everything you need to build custom calling and collaboration experiences in your iOS application, including methods to: configure meeting sessions, list, and select audio devices, switch video devices, start and stop screen share viewing, and receive callbacks when media events occur such as volume changes, and manage meeting features such as audio mute and video tile bindings. You can integrate Amazon Chime SDK in your project from either CocoaPods or binaries through Github release.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    Cache

    Cache

    Nothing but Cache

    Cache doesn't claim to be unique in this area, but it's not another monster library that gives you a god's power. It does nothing but caching, but it does it well. It offers a good public API with out-of-box implementations and great customization possibilities. Cache utilizes Codable in Swift 4 to perform serialization. The cache is built based on a Chain-of-responsibility pattern, in which there are many processing objects, each knows how to do 1 task and delegates to the next one, so can you compose Storage the way you like. All Storage now are generic by default, so you can get a type of safety experience. Once you create a Storage, it has a type constraint that you don't need to specify a type for each operation afterward.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    Hero iOS

    Hero iOS

    Elegant transition library for iOS & tvOS

    Hero is a library for building iOS view controller transitions. It provides a declarative layer on top of the UIKit’s cumbersome transition APIs—making custom transitions an easy task for developers. Hero is similar to Keynote’s Magic Move. It checks the heroID property on all source and destination views. Every matched view pair is then automatically transitioned from its old state to its new state. Hero can also construct animations for unmatched views. It is easy to define these animations via the heroModifiers property. Hero will run these animations alongside the Magic Move animations. All of these animations can be interactively controlled by user gestures. By default, Hero provides dynamic duration based on the Material Design Motion Guide. Duration is automatically determined by changes to distance and size—saving you the hassle, while providing consistent and delightful animations.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Vision Camera

    Vision Camera

    The Camera library that sees the vision

    VisionCamera was designed from the ground up to provide all features a camera app should have. You have full control over what device is used, and can even configure options such as frame rate, colorspace, and more. While having a lot of features, VisionCamera makes sure you don't get overwhelmed from the beginning. It provides hooks and functions to help you get started faster, and if you need full control, you can easily do that. Every functionality has been thoroughly documented and even errors are fully typed. Use TypeScript to get compile-time feedback on what has gone wrong.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Airbnb Swift Style Guide

    Airbnb Swift Style Guide

    Airbnb's Swift Style Guide

    Airbnb's Swift Style Guide. Note that brevity is not a primary goal. Code should be made more concise only if other good code qualities (such as readability, simplicity, and clarity) remain equal or are improved. This repo includes a Swift Package Manager command plugin that you can use to automatically reformat or lint your package according to the style guide. To use this command plugin with your package, all you need to do is add this repo as a dependency.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    AlertKit

    AlertKit

    Native alert from Apple Music & Feedback

    AlertKit is an open source Swift library designed to replicate the native alert and feedback popups seen in Apple Music and the App Store, giving iOS developers a simple way to integrate polished, system-like notifications into their applications. It focuses on delivering visually consistent and animated alert components that closely match Apple’s design language, including styles inspired by iOS 16 and iOS 17 system interfaces. The library supports both UIKit and SwiftUI, making it flexible for developers working across different iOS UI frameworks while maintaining a unified implementation approach. AlertKit provides predefined alert types such as success, error, heart, and message indicators, along with built-in haptic feedback to enhance the user experience and mimic native system interactions. Developers can easily present and dismiss alerts programmatically, and the API is structured to allow both quick usage and deeper customization when needed.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    AlertToast-SwiftUI

    AlertToast-SwiftUI

    Create Apple-like alerts & toasts using SwiftUI

    AlertToast is a SwiftUI-based library that enables developers to display lightweight, non-intrusive notifications and alerts that resemble native Apple system interactions. Unlike traditional alerts that require user confirmation, this library allows for transient messages that automatically dismiss, improving user experience for status updates such as success messages, loading indicators, or errors. It provides multiple display modes including centered alerts, top drop-down HUDs, and bottom banners, giving developers flexibility in how feedback is presented. The library includes several predefined alert types such as complete, error, loading, and image-based notifications, all designed to match Apple’s visual language. It is fully customizable, allowing developers to adjust fonts, colors, and content while maintaining consistency with the system aesthetic.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    Inject

    Inject

    Hot Reloading for Swift applications

    Hot reloading workflow helper that enables you to save hours of time each week, regardless if you are using UIKit, AppKit or SwiftUI. Hot reloading is a technique allowing you to get rid of compiling your whole application and avoiding deploy/restart cycles as much as possible, all while allowing you to edit your running application code and see changes reflected as close as possible to real-time. This makes you significantly more productive by reducing the time you spend waiting for apps to rebuild, restart, re-navigate to the previous location where you were in the app itself, re-produce the data you need. You don’t need to add conditional compilation or remove Inject code from your applications for production, it's already designed to behave as no-op inlined code that will get stripped by LLVM in non-debug builds.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Runtime

    Runtime

    A Swift Runtime library for viewing type info

    A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. Runtime is a Swift library to give you more runtime abilities, including getting type metadata, setting properties via reflection, and type construction for native swift objects. TypeInfo exposes metadata about native Swift structs, protocols, classes, tuples and enums. It captures the properties, generic types, inheritance levels, and more.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    iOS Interview Questions

    iOS Interview Questions

    iOS interview questions

    This repository collects a broad, categorized list of interview questions (with expected answers) that are commonly asked in iOS or Swift engineering interviews. Topics range from language fundamentals (memory management, ARC, value vs. reference types), to UIKit/SwiftUI, concurrency, Grand Central Dispatch, background execution, networking, design patterns, system frameworks, and architecture decisions. Each question is usually backed by sample explanations or code snippets, helping candidates understand not just what to answer but why it matters and how to reason about tradeoffs. Because the repo is maintained, it evolves to reflect changes in the iOS ecosystem: for example, newer Swift concurrency, Combine, SwiftUI, structured concurrency, or recent platform APIs. Many interviewers and candidates use it as a structured prep tool: reviewing categories, doing mock answers, or drilling tricky concepts.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    CocoaMQTT

    CocoaMQTT

    MQTT 5.0 client library for iOS and macOS written in Swift

    MQTT v3.1.1 and v5.0 client library for iOS/macOS/tvOS written with Swift 5. IOS Target: 9.0 or above OSX Target: 10.12 or above TVOS Target: 10.0 or above. To integrate CocoaMQTT into your Xcode project using CocoaPods, you need to modify you Podfile. On your application targets “General” settings tab, in the "Frameworks, Libraries, and Embedded content" section, drag and drop CocoaMQTT.xcframework, CocoaAsyncSocket.xcframework and Starscream.xcframework from the Carthage/Build folder on disk. Then select "Embed & Sign".
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Hacking with Swift

    Hacking with Swift

    The project source code for Hacking with iOS

    HackingWithSwift is an extensive open-source repository that accompanies a popular tutorial series focused on teaching Swift programming for iOS development. It contains a large collection of example projects, exercises, and complete applications that guide learners from beginner to advanced levels. The repository is structured into different learning tracks, including UIKit-based development and modern SwiftUI approaches, allowing developers to explore multiple paradigms within the Apple ecosystem. Each project is designed to reinforce specific concepts such as UI design, data handling, animations, and app architecture. The material emphasizes hands-on learning, encouraging users to build real applications rather than passively consume theory. It is continuously updated to align with the latest versions of Swift, Xcode, and iOS, ensuring relevance for modern development practices.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    HandyJSON

    HandyJSON

    A handy swift json-object serialization/deserialization library

    HandyJSON is a framework written in Swift which makes converting model objects( pure classes/structs ) to and from JSON easy on iOS. Compared with others, the most significant feature of HandyJSON is that it does not require the objects inherit from NSObject(not using KVC but reflection), nor implements a 'mapping' function(writing value to memory directly to achieve property assignment). HandyJSON is totally dependent on the memory layout rules inferred from Swift runtime code. We are watching it and will follow every bit if it changes. To support deserialization from JSON, a class/struct needs to conform to 'HandyJSON' protocol. It's truly protocol, not some class inherited from NSObject. For struct, since the compiler provides a default empty initializer, we use it for free. HandyJSON supports deserialization from the designated path of JSON.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    KeyboardKit

    KeyboardKit

    KeyboardKit is a Swift library that helps you build custom keyboard

    KeyboardKit helps you build custom keyboard extensions with Swift and SwiftUI. KeyboardKit is a Swift-based SDK that helps you build custom keyboard extensions with Swift and SwiftUI. It extends the native keyboard APIs and provides you with a lot of functionality. The KeyboardKit project is open-source and completely free. It's hosted at GitHub, which is where you find information, documentation, sample code, demo apps etc. KeyboardKit Pro is a license-based extension to KeyboardKit. It unlocks a bunch of pro features, like more locales, localized system keyboards, local and remote autocomplete etc. KeyboardKit comes with support for 50+ locales, with more being added over time. KeyboardKit has tools for customizing everything from keys, key behavior, layout, callout actions, audio & haptic feedback, colors and styling, autocomplete etc. The KeyboardKit app let you create keyboards directly on your iPhone and iPad.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    MaLiang

    MaLiang

    iOS painting and drawing library based on Metal

    MaLiang is a painting framework based on Metal. It supports drawing and handwriting with customized textures. The name of "MaLiang" comes from a boy who had a magical brush in a Chinese ancient fairy story. A Canvas is the basic component of MaLiang. You will paint all things on it. Canvas extends from MetalView, which extends from MTKView. MetalView handles all the logic with MetalKit and hides them from you. MaLiang supports the automatic adjustment of stroke size with painting force. 3D Touch is supported by default, and simulated force will be setup on devices that do not support this. forceSensitive is the property that force affects the stroke size. It should be set between 0 to 1. the smaller the value is, the less sensitive will be. if sets to 0, then force will not affect the stroke size.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB