Diligence is a lightweight Swift package with a collection UI controls for building about screens for macOS and iOS apps.
Screenshots
iOS
Anytime
StatusPanel
OPL
macOS
Build Numbers
Diligence supports build numbers conforming to the following structure:
YYmmddHHMMxxxxxxxx
YY – two-digit year
mm – month
dd – day
HH – hours (24h)
MM – minutes
xxxxxxxx – zero-padded integer representation of a 6-character commit SHA
These build numbers are guaranteed to be always incrementing and, as such, safe to be used for iOS and macOS apps while also encoding the build date and commit.
If Diligence detects a build number in this format, it will display this additional information in the about screen.
Generating Build Numbers
Diligence comes with a Swift command-line script that can be used to generate suitable build numbers. From the root Diligence directory, run the following command:
scripts/build-number.swift
221021001716408432
This can be injected into your project build by building from the command line and setting the CURRENT_PROJECT_VERSION environment variable. For example, the command line to archive a release build for the TinyBoard project is as follows:
Diligence
SwiftUI About Screens
Overview
Diligence is a lightweight Swift package with a collection UI controls for building about screens for macOS and iOS apps.
Screenshots
iOS
macOS
Build Numbers
Diligence supports build numbers conforming to the following structure:
YY
– two-digit yearmm
– monthdd
– dayHH
– hours (24h)MM
– minutesxxxxxxxx
– zero-padded integer representation of a 6-character commit SHAThese build numbers are guaranteed to be always incrementing and, as such, safe to be used for iOS and macOS apps while also encoding the build date and commit.
If Diligence detects a build number in this format, it will display this additional information in the about screen.
Generating Build Numbers
Diligence comes with a Swift command-line script that can be used to generate suitable build numbers. From the root Diligence directory, run the following command:
This can be injected into your project build by building from the command line and setting the
CURRENT_PROJECT_VERSION
environment variable. For example, the command line to archive a release build for the TinyBoard project is as follows:Usage
iOS
macOS
Caveats
Diligence currently makes some assumptions that will be addressed in future updates: