PureSwift Releases

Hi, I'm the head developer for the PureSwift organization, I'd like to share some recent software releases mainly aimed at Swift on ARM and the IoT community.

I've updated the libraries for Swift 5.6, added async/await support for the Bluetooth libraries, and made all packages build as static libraries. All Swift 5.1 support has been deprecated for the Bluetooth libraries.

These libraries have been working with Swift 5.1, and will be updated for Swift 5.6 in the coming months:

37 Likes

Man, this is great stuff. Thanks for all your work on that. Being able to drive IoT devices with a multi-paradigm not-interpreted high level language such as Swift is a dream.

8 Likes

Great stuff. One question: why forcing them static as opposed to letting SPM figure it out?

1 Like

I wanted to easily create diffs that changes that LOC to build dynamic and apply them with Buildroot. With Buildroot each package is a Buildroot Package and SwiftPM dependencies are not used. In that sense they act the same as native frameworks on macOS.

1 Like

All this packages look very promising! Good job. Maybe this is a bit out of scope for this project, but I would love to see a pure swift ssh client/server implementation.

I would like to say thanks @ColemanCDA, I 'm using a version of the BT stack in one of my pet project running on Raspeberry PI and it works pretty well. I only had some problems in making libraries works together when they were defined as dynamic. After I've changed them as static everything started to working.
I've wrote also a post on medium about my pet project.

1 Like

This is great. I've been exploring the bluetooth library on Pi as well, replacing a hacked together C app for reading heart rate.

On Socket, does/will that support secure sockets and perform the TLS on behalf of the users much like Apple streams do (did)? I've been trying to run various MQTT Swift libraries on Pi but because most are based on streams which is deprecated and thus not ported to ARM am looking for other solutions and abandoning C here too.