Skip to content

[iOS] UXCam native SDK 3.10.1 breaks taps inside WKWebView — 3.10.0 is unaffected #156

Description

@ArkhipenkaPiotr

Summary

After UXCam iOS SDK 3.10.1 (released 13 Aug 2026) reaches an app, tap events
stop reaching content inside a WKWebView (flutter_inappwebview). The page
renders and scrolls normally, but buttons and links inside it no longer respond.

The rest of the Flutter UI is completely unaffected — navigation, buttons,
bottom sheets and lists all work. Only interaction inside the web view is
lost. Killing and relaunching the app does not help; disabling UXCam does.

Pinning the native pod back to 3.10.0 fixes it with no other change.

Environment

flutter_uxcam 2.9.0 (held constant across the bisect)
UXCam iOS pod 3.10.0 → works, 3.10.1 → broken
flutter_inappwebview 6.1.5
Flutter 3.41.6 (stable)
Platform iOS only — Android unaffected
Device / iOS version iPhone 16 Plus, iOS 26.6

UXCam initialisation:

FlutterUxcam.optIntoSchematicRecordings();
FlutterUxcam.occludeAllTextFields(true);
final config = FlutterUxConfig(
  userAppKey: '<key>',
  enableAutomaticScreenNameTagging: true,
);
await FlutterUxcam.startWithConfiguration(config);

No OccludeWrapper is present anywhere on the affected screen.

Bisect

flutter_uxcam stayed at 2.9.0 for both runs — the Dart side was byte
identical, the only variable was the native pod:

flutter_uxcam pod 'UXCam' Taps inside WKWebView
2.9.0 3.10.0 ✅ work
2.9.0 3.10.1 dead
2.8.4 3.8.4 ✅ work

Switching between the two states is just:

# ios/Podfile
pod 'UXCam', '3.10.0'   # vs '3.10.1'

followed by pod update UXCam. Verified against
Pods/UXCam/UXCam.xcframework/ios-arm64/UXCam.framework/Info.plist
(CFBundleShortVersionString) so there is no ambiguity about which binary was
actually linked.

Steps to reproduce

  1. Flutter app with flutter_uxcam: 2.9.0 and flutter_inappwebview: 6.1.5.
  2. Start UXCam as above (a real app key — the SDK must actually record).
  3. Add pod 'UXCam', '3.10.1' to ios/Podfile, pod update UXCam.
  4. Open any screen hosting an InAppWebView with an HTML page that has a
    clickable button.
  5. Run on a physical iOS device and tap the button inside the web view.

Expected: the button responds.
Actual: nothing happens. The page still scrolls, so the view is receiving
touches at the UIKit level — only the click never materialises.

Change the pin to 3.10.0, pod update UXCam, rebuild: the button works again.

Why this will hit other 2.9.0 users without them changing anything

flutter_uxcam 2.9.0's podspec declares:

s.dependency 'UXCam', '~> 3.10.0'

which admits any 3.10.x. Projects that do not commit Podfile.lock, or whose CI
regenerates it (a common setup — ours runs rm -rf Pods Podfile.lock && pod install), silently moved from 3.10.0 to 3.10.1 the moment it was published.
Same source, same plugin version, same commit — different native binary and a
broken app. There is no diff to point at, which made this unusually hard to
track down.

flutter_uxcam 2.9.1 pins UXCam ~> 3.10.1, so upgrading also lands on the
broken build.

Notes on the 3.10.0 → 3.10.1 delta

  • 3.10.0's changelog is largely an occlusion/overlay rework ("occlusion masks
    now apply correctly across all view hierarchies", "Occlusion placement mapping
    for accurate mask positioning [MOB-1859]", window-level banners) — the
    machinery that places views over other views was reworked recently.
  • 3.10.1's changelog is entirely about session upload, queueing and disk usage,
    with nothing about gestures, touch or occlusion — so this looks like an
    unintended side effect rather than a deliberate behaviour change.

Workaround

# ios/Podfile
pod 'UXCam', '3.10.0'

plus pinning flutter_uxcam to an exact version so the plugin cannot float onto
a release whose podspec demands a newer pod.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions