Skip to main content
Version: iOS SDK

Pin the tag version

By default, the iOS SDK loads the latest released version of the Screeb tag every time your app starts. You get improvements, new question types and bug fixes automatically, without shipping a new build of your app.

If your organization requires a fixed, auditable third-party payload, you can pin the SDK to one specific tag release.

Pinning freezes everything, not just the risk

A pinned version stops receiving all updates until you change the value and ship a new build of your app:

  • no bug fixes โ€” including crash fixes and privacy fixes
  • no security patches
  • no new features โ€” new question types, new targeting capabilities, new survey formats
  • no compatibility updates โ€” for new iOS versions, new devices or new browser engines

Surveys you design later in the Screeb app may not render correctly, or may not display at all, if the pinned tag predates the feature they use. Only pin if you have a policy that requires it, and plan to review the pinned version regularly.

How to pinโ€‹

Add the ScreebTagVersion key to your app's Info.plist, with the tag version you want to load:

<key>ScreebTagVersion</key>
<string>0.43.0</string>

The value must be an exact version, in MAJOR.MINOR.PATCH form (a leading v is accepted). Ranges, tags such as latest, and partial versions such as 0.43 are not supported.

To go back to automatic updates, remove the key and ship a new build.

Cross-platform appsโ€‹

Flutter, React Native, MAUI and KMP apps use this same key, read from the Info.plist of their iOS project. See the per-technology pages, which give the exact file paths: Flutter, React Native, KMP, MAUI.

Ionic apps are not concerned: they run the browser SDK inside the WebView and never load the native iOS SDK.

How to verify it worksโ€‹

  1. Ship a build with the key set.
  2. Open the app and display a survey.
  3. Check that everything you expect still renders.
An invalid version silently disables Screeb

The version is not validated against the list of published releases. If you pin a version that does not exist (a typo, or a version that was never released), the tag fails to load and Screeb stops working entirely in your app: no surveys, no messages, no session replay, and no error shown to your users.

There is no fallback to the latest version, by design: a pinned version is honored exactly as written. Always test a pinned build before releasing it.

Choosing a versionโ€‹

Published versions and what each one contains are listed in the tag changelog. Pick a version that already contains every feature used by the surveys you plan to run, and re-check the changelog whenever you design a survey with a newer capability, or when a fix you need is released.