It’s been a busy couple of weeks! We had a lot of interest since being mentioned in iosdevweekly last week, with new contributors starting to feel their way in the project!
Today we’re releasing the second tagged early-access build 1.0.2 so that people using Flint today can build to a known target. The FlintDemo-iOS project has already been updated to use this release.
This release has some great improvements:
Added
- A
ConditionalFeature
can also now be aFeatureGroup
that has sub-features (#144) - A
FeatureGroup
can now also define actions and URL mappings (#144) - New FlintLoggable type for
InputType
on actions, for more useful logging (#153)
Improved
- Weak linking of Contacts & EventKit to prevent App Store processing rejections for missing usage description keys (#145). A slightly hacky solution for now and some frameworks are still linked even if your app doesn’t use them but this will be addressed in a future release. For full details of the horrible story, including an unexpected transitive dependency from
Intents
framework see this blog post - Improved the argument signatures of various
perform
functions to useperform(input:, presenter:)
rather than the previousperform(with:, using:)
which was ambiguous (#159). You’ll need to rename your functions to match — the compiler will tell you! This is a slightly painful change but it’s better to do it now - The
Flint.linkCreator
is now automatically created even if only one of app URL scheme or associated domain specified (#157).
(note: Some readers my wonder why the version does not follow semver norms. This is because these early access releases are not intended to be used as versioned dependencies in Carthage, and Carthage will not see these as valid versions, so you must add the dependency using the tag string. We’ll go to “1.0.21” or similar for the first public release and all will be well again”)