Back to Provenance

3539

.changelog/3539.md

3.3.11.6 KB
Original Source

Fixed

  • JIT Double Alert — Removed redundant in-emulator JIT onboarding modal that fired after the pre-launch contextual prompt, causing duplicate JIT alerts per session.
  • App Store JIT Suggestions — JIT alerts now use runtime sideload detection (DOLJitManager.isGenuinelyAppStoreDistributed()) instead of a compile-time APP_STORE flag. GitHub CI App Store builds that users sideload (changed bundle ID or JIT entitlement injected at re-sign time) correctly show the full AltStore/StikDebug acquisition guidance. Genuine App Store installs retain the restricted message per App Store guidelines.
  • iOS 26 JIT StartupattemptToAcquireJitOnStartup() is now called directly from application(_:didFinishLaunchingWithOptions:) (instead of a disconnected helper) so debugger-based JIT is detected in App Store scheme builds run from Xcode. The wait-screen UI (which suggests sideloading tools) remains gated to non-App Store builds.
  • iOS 26 W×X Onboarding — JIT onboarding alert no longer offers StikDebug/JITStreamer retry buttons on iOS 26+ where W×X enforcement makes these tools ineffective; shows a plain performance-expectation message instead.
  • JITOnboardingManager Race ConditionhasShownThisSession flag is now set before calling present() rather than in the animation completion handler, preventing a theoretical double-alert if presentOnboardingIfNeeded is called twice in rapid succession.

Changed

  • JIT Log Clarity — Added a WLOG on iOS 26 when JITAuthorizer is present but allow-jit entitlement is absent, directing developers to add the entitlement for reliable iOS 26 JIT.