iOS17 possible bug with bottom sheets affecting iMessage app extensions

Touchgram provides interactive messages as an iMessage App extension, adding gesture recognition and logic on top of SpriteKit.

When you play a message, either composing it or when received, the extension goes into expanded sheet mode which is mostly filled with an SKView.

I’ve just installed the iOS 17 beta. Running the current (1.3.3) version of the app inside Messages, touches are not being captured inside SpriteKit. Instead, vertical touches are interpreted as attempts to drag the sheet from expanded down to compact mode. Horizontal touches still work.

This breaks the app utterly. At the very least, I need a fix and to ship a new version by the time 17.0 goes live. Alternatively, this may be a beta bug in Messages.

To replicate:

  1. Launch the extension inside Messages
  2. Tap Favorites (star)
  3. Choose the “Foot tickle lots with hearts”
  4. Press the Play (triangle) button
  5. Move your finger rapidly back and forth - you should see hearts being drawn following your path - horizontally and vertically, any angle.

On iOS17, vertical movement in step 5 fails, instead shrinking the sheet.

Post not yet marked as solved Up vote post of andydent Down vote post of andydent
1k views

Replies

How are you handling touches inside the app extension? Are you using manual touch handling methods like touchesBegan and touchesMoved, or are you using UIGestureRecognizers? If you're using gesture recognizers, your recognizers should take precedence over the sheet's resize gesture. If you're using manual touch handling methods, you need to implement UIView.gestureRecognizerShouldBegin to prevent any UIPanGestureRecognizer from beginning.

Hello! I've been seeing the same issue: our UIGestureRecognizers are getting overridden by the iMessage Extension container's pan gestures.

I created a simple project to reproduce this (https://drive.google.com/drive/folders/1-IrHW2GkjKaMW5rdt29vZllbLNQR5wu0?usp=sharing). What setting did you use to ensure the recognizers take precedence over the sheet's resize gesture?

Quick screenshots for reference:

Your help is much appreciated!