Version 5.5.0 (July 2023)
  • 28 Oct 2024
  • 3 Minutes to read
  • Dark
    Light

Version 5.5.0 (July 2023)

  • Dark
    Light

Article summary

Supported platform versions

  • iOS 12.0 – iOS 16

    With the end of support for iOS 9.0, support for 32-bit architectures also ended.

  • iPadOS 16

  • Shielding Tool:

    • Windows 10: 64-bit Java 17

    • Mac OSX (10.9+)

      The Shielding Tool requires a macOS system to sign applications.

    • Ubuntu Linux 20.04 LTS or 22.04 LTS

  • Xcode 12 and later. We recommend using Xcode version 14.3.1 for now.

iOS platform updates

App Shielding version 6.0.0 is compatible with iOS/iPadOS 17 RC.

As of July 1, 2022, App Shielding for iOS version 4.2.0.39844 and earlier are no longer supported. For more information, refer to the OneSpan Customer Portal at https://cp.onespan.com/.

Deprecations

iOS: The minimum supported version is iOS 12. App Shielding no longer supports iOS 11.

Xcode: As of Xcode 14, Apple has deprecated bitcode.

As of App Shielding version 6.0.0, the Shielding Tool no longer supports bitcode-based code obfuscation!

New features and other updates

Developer mode detection

(Resolves issue SHIOS-2055)

In iOS 16, Apple has introduced the Developer Mode feature. This developer mode needs to be enabled on a device in case a user wants to install development signed apps and wants to debug apps on a given device. By default, developer mode is disabled which results in higher security for normal users.

With this, ShieldSDK introduces new options for the configuration file:

  • Check developer mode

  • Exit on developer mode

  • Exit on developer mode url

By default, developer mode detection is enabled but can be configured.

Build App Shielding library for arm64 simulator

(Resolves issue SHIOS-1287)

App Shielding now supports to run a shielded app in a simulator on ARM Macs.

Fixes and other changes

RASP-2961: iOS Sample App: missing status and callback from screen recording

Description: In the App Shielding sample application, the the status and a callback was missing from screen recording.

Status: This issue has been fixed. All detection mechanisms are again available in the sample app.

SHIOS-2093: Unknown architecture in library error in Shielding Tool

Description: Some frameworks may have additional architectures embedded, which are irrelevant for the Shielding Tool, such as the armv7k architecture for older generations of Apple Watch.

Status: This issue has been fixed. The Shielding Tool will no longer complain about such libraries being present in the application that is being shielded.

SHIOS-2119: Delay calls to UIDevice until bindings are restored

Description: In some rare cases an early call to UIDevice during binding restoration can cause an unexpected termination.

Status: This issue has been fixed.

SHIOS-2135, SHIOS-2368: Deprecation of configuration options

Description: The following configuration options are now deprecated:

  • exitOnDebuggerURL

  • runtimeLibraryInjectionPreventionMode
    The default option is non-strict

SHIOS-2233: Fixed signing problem with Cocoapods

Description: Fixed signing when ShieldSDK is used with the Cocoapod framework as a dependency.

SHIOS-2255: Removed exposed ShieldSDK namespace classes when not enabled

Description: Some third party code may have names which conflict with a ShieldSDK namespace, for example Secure Local Storage.

Status: This issue has been fixed. This fix removes the SecureLocalStorage namespace from App Shielding packages where this API is not enabled.

SHIOS-2283: Fixed unexpected termination caused by symbol not found

Description: In the Shielding Tool the load order of frameworks for the app is rewritten to ensure App Shielding is always loaded first. In rare cases, this re-ordering could cause problems for some non-weak symbols - which would cause the app to reliably terminate unexpectedly when launched.

Status: This issue has been fixed.

SHIOS-2389: Fixed unexpected termination on iPad

Description: An issue with the binding feature on iOS/iPadOS can cause an unexpected termination during startup in very rare cases.

Status: This issue has been fixed.

SHIOS-2399, SHIOS-2406, SHIOS-2407, SHIOS-2455: Fixed memory leaks

Description: Improved memory management for long-running applications.

SHIOS-2410: Change the AppMonitor class name if already in the app

Description: If there is already an AppMonitor class name in the app, the Shielding Tool renames an internal AppMonitor class name to a random name in case of conflict with your app.

SHIOS-2435: Removal of deprecated configuration option

Description: The deprecated configuration option exitOnRepackagingURL has now been removed.

Known limitations

The limitations described here have not yet been solved for the current Mobile Application Shielding version. Possible workarounds are described where available.

XCFramework support

App Shielding is provided both as framework and as XCFramework. If you are using a legacy build system on Xcode 11 and later, use the ShieldSDK.framework instead of the newer ShieldSDK.xcframework. Xcode will cause an error when using the XCFramework in the legacy build system.

ARM64E limited support

The ShieldSDK framework is not compiled for the ARM64E CPU architecture, and therefore does not include the corresponding slices. ARM64 CPU ABI should be used instead. At the moment, Xcode 11 does not create an ARM64E target by default. Consequently, no action is required at this point.

External screen block

Blocking external screens (e.g. AirPlay) is currently not working for apps that use UISceneDelegate in iOS 13 and later.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, our interactive help assistant