Partial Versions v0.1.0 to v1.0.0
- 7 releases:
- v0.1.0•
- v0.1.1•
- v0.2.0•
- v1.0.0-rc.3•
- v1.0.0-rc.4•
- v1.0.0-rc.5•
- v1.0.0
Structs are incredibly useful in Swift, especially when representing static read-only data. However, the values of a struct often come from multiple sources, such as view controllers, network requests, and files on disk, which can make the creation of these structs cumbersome.
There are numerous methods to work around this, but each have their downsides. One of these methods is to change the struct to a class and update the properties to vars, but this removes the advantages of read-only structs. Another is to make a "builder" object, but the API of this object must be kept in-sync with the object is wraps.
Partial
eliminates these problems by providing a type-safe API for building structs by utilising generics and KeyPath
s. Although I learned of the concept of Partial
through TypeScript – which [provides Partial
as a built-in type][1] – the Swift implementation supports many more use cases.
Version 1.1.2 improves the reliability of animating the screen brightness when viewing QR codes.
Thank you for using Scanula!
Version 1.1.1 addresses an issue that may cause the camera to appear blank on certain devices.
Thank you for using Scanula!
Gathered 1.3 has been released and is now available on the App Store. Version 1.3 brings 2 new data sources, app-wide speed and UX improvements, and support for various features added in recent versions of iOS.
This update also has lots of behind-the-scenes changes that will make future updates easier to create and deploy, which – along with my features roadmap – should mean more frequent updates.
I wasn't very happy removing the Heart Rate data source but Apple weren't very happy with the use of HealthKit.
Gathered 1.3 adds 2 new data sources, app-wide improvements, and support for various features added in recent versions of iOS:
Version 1.1 updates Scanula to utilise some of the latest iOS features.
iPhone X support
Haptic feedback when the camera detects an object
When viewing a QR code in full screen the brightness change is animated