Swiftpack.co - Package - futuredapp/FuntastyKit
FuntastyKit logo


Cocoapods Cocoapods platforms License

The FuntastyKit for iOS contains:

  • MVVM-C architecture used at Futured, the template for this architecture can be found at https://github.com/futuredapp/MVVM-C-Templates.
  • Some regularly used UIKit extensions.
  • Protocols for simple initialization from XIB files, storyboards and for handling keyboard.
  • Hairline constraint for one-pixel designs.


If you want to use CocoaPods for dependency management, add following line to your Podfile:

pod 'FuntastyKit', '~> 2.2'

If you also want to use IBInspectable extensions also add:

pod 'FuntastyKit', '~> 2.2', subspecs: ['IBInspectable']

When using Swift package manager add following line to your Package.swift file or add the repository using Xcode:

.package(url: "https://github.com/futuredapp/FuntastyKit.git", from: "2.2.1")

Note on the name

The name of the framework comes from the name of our company before rebranding, Funtasty. Now, we are called Futured, but FuturedKit will be very probably based on SwiftUI instead of UIKit.


If you have any questions or issues, please contact the current maintainer:

  • Matěj K. Jirásek, matej.jirasek@futured.app

Over the years many inside and outside contributors made improvements to this library, namely:


FuntastyKit is available under the MIT license. See the LICENSE file for more info.


Stars: 24


Used By

Total: 0


v2.2.1: Root view controller animation fix - 2020-06-08 11:44:22

Fixes the animation whanr changing root view controller on a window.

v2.2.0: IBInspectable subspec fix - 2020-03-05 10:06:25

Now the installation using CocoaPods work propertly.

v2.1.0: PushCoordinator fix - 2020-02-27 09:31:40

Releases potential reference cycle fix in PushCoordinator. There is a minor breaking change when using PushCordinator and all navigation controllers must be changed to weak.

v2.0.0: IBInspectable subspec - 2020-01-29 15:26:28

This release causes breaking changes!

All IBInspectable extensions are separated into subspec/separate package. To fix issues with interface builder when using IBInspectable extension in a framework or when these extensions are not used at all.

v1.6.0: Futured FuntastyKit - 2020-01-20 13:24:20

Changed the organization name.

v1.5.0: Swift Package Manager, linting and automation - 2019-07-08 09:05:27

  • Add support for Swift Package Manager
  • Add linting, pod lib lint and testing to CI

v1.4.0: Swift 5.0 - 2019-03-19 10:04:52

Support for Swift 5.0 and Xcode 10.2.

v1.3.0: CocoaPods trunk 🎉 and coordinators - 2019-03-18 12:53:49

  • Add ShowCoordinator to simplify standard navigation patterns.
  • Remove PushModalCoordinator since we could have many of these combinations and it is not used at all
  • Update metadata for CocoaPods trunk

Released on: https://cocoapods.org/pods/FuntastyKit

v1.2.3: Root view controller animations options - 2019-02-11 14:03:11

Parameter for specifying animation options for root view controller animation.

v1.2.2: Open IBInspectable properties - 2019-01-21 09:58:13

In some cases we needed to override the IBInspectable properties, so we made them open.

v1.2.1: Hacktober refactoring & preferred action style - 2018-11-28 17:56:23

  • Increase iOS deployment target to 9.0
  • Add preferred action style
  • Hacktober refactoring

v1.2.0: Swift 4.2 - 2018-08-27 14:22:33

v1.1.2: TabBarItemCoordinator memory fix - 2018-06-21 12:39:17

  • Fix TabBarItemCoordinator leaking memory in tabBarController property.

v1.1.1: Swift 4.1 - 2018-04-03 08:12:52

  • Remove weak annotations from protocols
  • Update project in Xcode 9.3

v1.1.0: Keyboard constraint and tab bar item coordinator - 2018-02-27 09:35:42

  • Added TabBarItemCoordinator for adding view controllers to UITabBarController
  • Added KeyboardHeightConstraint which changes height according to keyboard and animates correctly with it, also it fully supports iPhone X
  • Removed Keyboardable protocol
  • Fixed window root view controller animation duration parameter

v1.0.1: Swift 4 - 2018-02-19 11:54:41

v1.0: Coordinator ownership architecture update - 2018-01-09 10:34:52

View models are now created inside the coordinator. The view model has reference to coordinator and view controller, so the view controller no longer deals with any navigation logic.

  • Add source to action sheet for iPad popover presentation
  • Add calls of delegate in default coordinator stop method
  • Simplify configuration of controllers (use method instead of closure)
  • Add example scene for testing
  • Remove Coordinated protocol
  • Rename view reference to view controller
  • Add example scene for testing

v0.13: Improve coordinator delegates - 2017-09-27 11:49:10

  • Add delegate to alert coordinator
  • Add calling of didStop method on alert coordinator after animation
  • Make the view controller on coordinator read-only (since it is usually only set in the coordinator it should not be changeable from the outside)
  • Add setter to coordinator delegates in the protocol
  • Use animated variable when stopping push/modal coordinators

v0.12: Alert coordinator optional title message - 2017-08-08 06:58:21

  • Alert coordinator optional title message

v0.11: Add preferred style to alert coordinator - 2017-08-03 11:17:06

  • UIViewController+Deselection deselect items fix

  • UIViewController+Deselection fix of previous fix

  • AlertCoordinator contains preferredStyle

  • DefaultCoordinator common extension can present action sheet

- 2017-07-17 12:31:33

v0.9: Alert coordination and fixes - 2017-07-04 08:08:57

  • Add error handling mechanisms
  • Remove where clause from Coordinated

v0.8: Improve constraints on Coordinated protocol - 2017-07-03 15:39:36

  • Fix mutating on coordinated protocol and add more strict requirement

- 2017-07-03 12:08:55

Improve Keyboardable observer removal (#18) - 2017-04-22 08:30:43

- 2017-04-07 12:14:46

- 2017-03-23 10:25:34

- 2017-01-20 15:19:00

- 2017-01-19 15:59:57

- 2017-01-19 13:32:00