Back to all

Why the Median iOS User-Agent marker is not detected?

Hi Median support,

I’m testing my RingPredict iOS TestFlight build and have enabled/configured the In-App Purchases native plugin.

However, the web app inside the TestFlight build appears to be running without the Median native JavaScript bridge.

The diagnostic from the actual TestFlight app reports:

  • Median.isNativeApp() → false
  • window.webkit.messageHandlers.JSBridge → absent
  • window.median → absent
  • webkit.messageHandlers → absent
  • App info → not exposed
  • User-Agent:
    Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.1 Mobile/15E148 Safari/604.1

The official [email protected] package is installed in the RingPredict web app and is being called correctly, but Median.isNativeApp() returns false because the native JSBridge isn’t present.

The In-App Purchases plugin is enabled in Median App Studio and the products URL is configured as:

https://ringpredict.com/iap/productsApple.json

A new native iOS build was generated after configuring the plugin and installed through TestFlight.

Could you please check the Median App Studio/build configuration and confirm why this iOS build is presenting the website without the Median WKWebView JSBridge and without the Median iOS User-Agent marker?

In particular, could you check whether:

  1. The build is actually using the standard Median WKWebView container.
  2. The website URL/link handling configuration could be causing the site to open in SFSafariViewController or another Safari-based container.
  3. Any Website Override, Custom User Agent, JavaScript Bridge, or Library Injection setting is preventing the native bridge from being exposed.
  4. The In-App Purchases plugin is actually included in the generated iOS binary.
  5. The TestFlight build was generated from the correct Median App Studio configuration.

I don’t want to change the RingPredict JavaScript detection logic further until we establish why the native Median bridge isn’t present in the binary/runtime.

Thanks.