Matrix-rust-components-swift - Swift package providing components from the matrix-rust-sdk

Overview

Swift package for Matrix Rust components

This repository is a Swift Package for distributing releases of the Matrix Rust SDK. It provides the Swift source code packaged in a format understood by the Swift package manager, and depends on a pre-compiled binary release of the underlying Rust code published from Matrix Rust SDK.

Releasing

Whenever a new release of the underlying components is availble, we need to tag a new release in this repo to make them available to Swift components. To do so we need to:

  • running the .xcframework build script from matrix-rust-sdk/apple
  • copy the generated .swift files to this repository under Sources/MatrixRustComponentsSwift
  • create a new tag and upload the zipped version of the .xcframework to it's artifacts section
  • update the tag version inside Package.swift

Testing locally

The package can be added to an Xcode project from a local checkout and the binary target can be configured with a local path. It might be necessary to manually add the resulting library to your project's General/Frameworks, Libraries, and Embedded Content for it to work.

You might also like...
Swift package adding extensions to SwiftUI.

swiftui-extensions SwiftUIX is an umpteenth package containing extensions for Apple's SwiftUI framework. Content The package currently provides the fo

A swift package(SPM) with iOS UI component that loads and displays images from remote urls or local assets and displays in a slide-show form with auto scroll feature.

MDBannersView A swift package with an iOS UI component that loads and displays images from remote urls, local assets and displays in a slide-show form

New version of CardinalKit based on the Swift Package Manager and a modularized architecture.

CardinalKit Open-source framework for rapid development of modern, interoperable digital health applications. Contributing Contributions to this proje

A package that allows you to easily enable the Xcode canvas to a UIKit view.
A package that allows you to easily enable the Xcode canvas to a UIKit view.

UIViewCanvas This package allows you to enable a SwiftUI Xcode canva to a UIView or a entire ViewController. Why? Run emulator everytime you need to t

Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21
Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21

Pile Up Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21 Descrição Pile Up é um quebra cabeça cujo objetivo é empilhar os bloc

Swift Language Weather is an iOS weather app developed in Swift
Swift Language Weather is an iOS weather app developed in Swift

Swift Language Weather SwiftWeather has renamed to Swift Language Weather. Because this repo is ranked number one in Google when we search "Swift Weat

Todo-app-swift- - A Todo Lists app built using swift

TODO-Lists App Available on the App Store What is this? This is a todo app I mad

Swift playground teaching basics of buffer overflow vulnerability and ARM64 assembly by exploiting vulnerable app on ARM64 emulator (WWDC22 Swift Student Challenge Winner)
Swift playground teaching basics of buffer overflow vulnerability and ARM64 assembly by exploiting vulnerable app on ARM64 emulator (WWDC22 Swift Student Challenge Winner)

Pwnground Project overview Pwnground is a project created as my submission for WWDC22 Swift Student Challenge (winner). It is an interactive Swift Pla

A small SwiftUI based chat client for IRC, using swift-nio-irc
A small SwiftUI based chat client for IRC, using swift-nio-irc

NeoIRC A simple Internet Relay Chat client implemented using SwiftNIO and SwiftUI. Inspired by: For maximum NIO someone (I’m tempted) should adopt NIO

Comments
  • Consider swift-bridge

    Consider swift-bridge

    I'm recommending to look into swift-bridge, which recently has gotten async function support (though with a few caveats)

    Considering uniffi is generic over many different calling conventions and libraries, it may take longer for them to add support for async, while swift-bridge can serve this library's usage more directly (and immidiately)

    (I'm just leaving this issue here so it can be weighted against uniffi experiments, as a mention of an alternative)

    opened by ShadowJonathan 3
  • Remove support for local development.

    Remove support for local development.

    • matrix-rust-sdk can now be used for local development via cargo xtask swift build-framework.
    • Update instructions to point to the release tool and SDK docs.
    • Remove Test target as these live in the matrix-rust-sdk repo.
    opened by pixlwave 0
  • Fix link for uniffi_bindgen and improve install instructions

    Fix link for uniffi_bindgen and improve install instructions

    Looks like the the bindings were moved from the crates to the bindings subfolder.

    They also seem to pin on a git revision now so I added an example for how to install that with cargo while at it.

    opened by Johennes 0
  • Usage of Swift Async

    Usage of Swift Async

    Together with https://github.com/matrix-org/matrix-rust-components-swift/issues/2, and swift async, any downstream project (such as element-x-ios) can benefit from the async-ness of library, allowing for smoother experiences (with apple components such as swiftUI, which has better responsiveness then)

    This can be done in either of two ways;

    • Transform an upstream ffi bridge project (either uniffi or swift-bridge) to support async wholly
    • Provide swift shims in this library, which convert all async calls into “continuations” (swift-bridge does this internally already) that then get scheduled and called internally
    opened by ShadowJonathan 0
Releases(v1.0.25-alpha)
Owner
matrix.org
A new basis for open, interoperable, decentralised real-time communication
matrix.org
A Swift library for documenting, isolating, and testing SwiftUI, UIKIt & AppKit components.

A Swift library for documenting, isolating, and testing SwiftUI, UIKit & AppKit components. Minimal Example An example demonstrated with the Slider ui

Hayden Pennington 9 Dec 15, 2022
A SwiftUI system components and interactions demo app

SwiftUI Kit A SwiftUI system components and interactions demo app based on iOS 14, macOS Big Sur, watchOS 7, and tvOS 14. Use the SwiftUI Kit app to s

Jordan Singer 2k Jan 6, 2023
A collection of missing SwiftUI components

SwiftUIKit A collection of components that will simplify and accelerate your iOS development. Components CurrencyTextField AdaptToKeyboard (not needed

youjinp 239 Nov 18, 2022
Introspect underlying UIKit components from SwiftUI

Introspect for SwiftUI Introspect allows you to get the underlying UIKit or AppKit element of a SwiftUI view. For instance, with Introspect you can ac

Siteline 3.7k Jan 4, 2023
NeoPop is CRED's inbuilt library for using NeoPop components in your app

NeoPOP NeoPOP is CRED's inbuilt library for using NeoPOP components in your app. What really is NeoPOP? NeoPOP was created with one simple goal; to cr

CRED 125 Dec 29, 2022
Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple

Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple Follow the tutorial at alfianlosari.com Features Uses Fir

Alfian Losari 43 Dec 22, 2022
Tapglue iOS SDK

Tapglue iOS SDK This will help you get started with Tapglue on iOS step by step guide. A more detailed documentation can be found on our documentation

socialpath 21 Sep 16, 2022
Hot reloading as a Swift Package

Yes, HotReloading for Swift & Objective-C The InjectionIII app available as a Swift Package. i.e.: Then you can do this (using the simulator)... To tr

John Holdsworth 368 Dec 27, 2022
Reusable & customizable SwiftUI settings sheet as a Swift package

PackAPrefPane Reusable & customizable SwiftUI settings sheet as a Swift package Features Swift package 100% Swift 99% SwiftUI Simple design Lightweigh

W1W1-M 9 Nov 6, 2022
A simple and lightweight Swift package which provides a SwiftUI view for interactive geo coordinates input!

LocationPicker for SwiftUI LocationPicker for SwiftUI is a very simple and lightweight Swift package which provides you a SwiftUI view for interactive

Alessio Rubicini 17 Dec 7, 2022