Skip to content
This repository was archived by the owner on Oct 30, 2018. It is now read-only.
This repository was archived by the owner on Oct 30, 2018. It is now read-only.

Private API usage in SlackTextViewController #361

Open
@dzenbot

Description

@dzenbot

Summary:

SlackTextViewController is no longer using private APIs. We highly recommend updating your app to use version 1.9, to be in compliance with the App Store Review Guidelines and, therefore, avoid App Store rejections.

Some Context:

In the SlackTextViewController library, we were internally checking for 3 private class names. We recently removed the private APIs listed below:

  • UIInputSetHostView
  • UIVariableDelayLoupeGesture
  • _UITextSelectionForceGesture

In one instance, we were accessing the keyboard's view to be able to drag the keyboard. In the other two instances, we were detecting the text selection loupe so that the behaviour of the auto-completion feature was more consistent with user expectations.

Keyboard Panning

In iOS 9, the keyboard was moved to its own view hierarchy. We were looking up its view so we could move the text input whenever the keyboard frame changed. With the removal of the API access, users will no longer be able to move the keyboard with a panning gesture. This feature will still work in iOS 7 and iOS8, if keyboardPanningEnabled is enabled.
NOTE: We are working on an alternative, to allow dragging the keyboard on iOS 9. Any contribution is very welcomed! 💪

Magnifying Glass Detection

When a user activates the loupe by long pressing on the text content area and moves the cursor into a range of text that triggers auto-completion, the loupe would disappear and cause some UI issues. With the removal of the API access, users may experience some of these issues again.


We have filed a radar with Apple about these issues and requested some features to help third-party developers to better interact with the keyboard.
NOTE: Apple as flagged this radar as duplicate of 9261950.

We highly recommend updating your app to use version 1.9 in order to avoid an App Store rejection. We sincerely apologize for the inconvenience and are working on putting together better processes to make sure this doesn't happen again. We'd love to hear any feedback you might have.

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions