Early access release 1.0.2

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 a FeatureGroup 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 use perform(input:, presenter:) rather than the previous perform(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”)


Finding a dynamic framework linking solution for Flint

Apps were getting rejected during processing, and yes it was ugly

Site now redirects to SSL

We improved security to avoid MITM attacks on downloads