Open Source Updates for Swift Projects - Issue #7 - Lady of the 80's

Thank you for being so patient, I know it's been a while but here is the 7th issue of the bi-weekly newsletter “Open Source Updates for Swift Projects”. Learn about new projects and innovations of popular projects that help you as a Swift / iOS developer.

In this issue, I include free projects and initiatives even if they are not strictly open-source. I made a judgment call and might continue it unless I hear from you otherwise.

I’d love to receive your input and suggestions to include in this newsletter. Please share them with me via email.

Explore Swift In Your Browser

http://online.swiftplayground.run/ allows you to explore the Swift language (5.7) from your browser without any local installation.

The hosted offering is around for a while, and the same is true for its underlying open-source project OnlineSwiftPlayground by Marcin Krzyzanowski.

Recently Marcin created version 1.0.0 on GitHub, which is a great reminder that there is a free option to explore Swift. Also a big shoutout to Flow Cloud Platform for the hosting support!

Keep Secrets Out Of Source Code

Ethan Jackwitz created a relatively young Swift Package to generate and use encrypted secrets in your app. It is called SecretsManager.

Features

  • Provides a convenient way to keep secrets out of source code

  • Encrypts Secrets when they are at rest in your applications binary

  • Provides convenient access through global Secrets

  • Run as manual Script, SPM plugin or Xcode plugin

  • Less than 250 lines of Swift

Use a .env bash script to export Secrets you want available to your source code.

Using this plugin the following Swift code is generated and available directly to your targets source code, no need for an import.

I didn't use the Swift package yet, but it is on my list to try out.

P.S. If you build a command-line tool with SwiftPM and you don't want to commit secrets then another option is to read environment variables from your local .env file. Below you find the link to my blog post about this topic.

Learn how to pass secrets from your .env file to your Swift Package and how to access them in Swift.

Learn From An Amazing App

Andrew Zheng open-sourced his app OpenFind on GitHub.

Features:

  • Search your entire photo library in split seconds.

  • Find in real-time using the camera.

  • Create lists of allergies and find unwanted ingredients instantly.

  • Organize photos with stars.

  • Look for multiple terms at the same time.

  • Runs 100% offline. No servers, nothing weird going on.

  • Tons of customizable settings.

  • Supports VoiceOver

You will find the code for quite some interesting UI controls like

  • Animated tab bar: 100% SwiftUI

  • Swipeable search bar: Made with UIKit (custom collection view flow layout)

  • Zoom control: 100% SwiftUI

  • List editor: Mostly UIKit with a bit of SwiftUI thrown in

  • Autogenerated settings view: Almost entirely SwiftUI. It's searchable too!

iOS CI Resources

Pol Piella is publishing a fortnightly independent newsletter gathering all updates and news about Continuous Integration and Continuous Delivery from the iOS community.

This newsletter will include interviews, tutorials, and even memes about CI!

It's free so there is no excuse not to subscribe :)

iOS CI Newsletter - A fortnightly independent newsletter gathering all updates and news about Continuous Integration and Continuous Delivery from the iOS comm

Easy App Localization

ReMafoX is a new app in Mac AppStore, developed by Cihat Gündüz, and a great utility for indie developers to localize their iOS apps.

The app is not open-source, but I decided to include this project in my newsletter because

  • it is the successor of the popular open-source project Barty Crouch

  • its bug and feature management is handled in an open-source manner

  • it has a free tier