Swiftpack.co - mapbox/Fingertips as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by mapbox.
mapbox/Fingertips v0.6.0
Touch indicators on external displays for iOS applications.
⭐️ 812
🕓 41 weeks ago
iOS
.package(url: "https://github.com/mapbox/Fingertips.git", from: "v0.6.0")

Fingertips

FOSSA Status

Presentation mode for your iOS app

Fingertips is a small library (one class) meant for presentations from iOS devices that shows all touches and gestures so that the audience can see them.

This library does not do the mirroring or screen recording for you!

Just drop in our replacement UIWindow subclass and your app will automatically determine when you are in the screen recording or an external screen is available. It will show every touch on-screen with a nice partially-transparent graphic that automatically fades out when the touch ends.

If you are using storyboards, the easiest way to integrate Fingertips is to override the window method of your application delegate like this:

// AppDelegate.m

- (UIWindow *)window {
    if (!_window) {
        _window = [[MBFingerTipWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    }
    return _window;
}
// AppDelegate.swift (Swift)

var window: UIWindow? = FingerTipWindow(frame: UIScreen.main.bounds)

For iOS 13+ with UISceneDelegate:

var windows: [UIWindow] = []

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = scene as? UIWindowScene else { return }

    let window = FingerTipWindow(windowScene: windowScene)

    window.rootViewController = // Your root view controller
    window.makeKeyAndVisible()

    windows.append(window)
}

Fingertips require iOS 11.0 or greater and ARC. It uses no private API and is safe for App Store submissions.

https://github.com/mapbox/Fingertips/assets/735178/833f659e-b549-4e74-ae27-e695f37717b6

Configuration

You shouldn't need to configure anything, but if you want to tweak some knobs:

  • touchImage: pass a UIImage to use for showing touches
  • touchAlpha: change the visible-touch alpha transparency
  • fadeDuration: change how long lifted touches fade out
  • strokeColor: change default touchImage stroke color (defaults to black)
  • fillColor: change default touchImage fill color (defaults to white)

If you ever need to debug Fingertips, just set the DEBUG_FINGERTIP_WINDOW environment variable to YES in Xcode or set the runtime property alwaysShowTouches to YES.

License

Copyright (c) 2011-2023 Mapbox, Inc.

The Fingertips library should be accompanied by a LICENSE file. This file contains the license relevant to this distribution. If no license exists, please contact Mapbox.

FOSSA Status

GitHub

link
Stars: 812
Last commit: 4 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

0.6.0
41 weeks ago

This release brings a couple of new features:

  1. Display toches automatically when screen recording is started. @koenpunt (#37)
  2. Swift Package Manager support (47e8aeb10585294aae18b1b23dc94dded6d1a4b5)
  3. Library was rewritten in Swift @friedbunny and @OdNairy (#36)
  4. Support UIScene initialization (8446e23497b7aab732437a1a98299b773af6be2f)

The new minimal iOS deployment version is iOS 11 and later.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics