- 14 Mar 2025
- 4 Minutes to read
- Print
- DarkLight
- PDF
Mobile Application Shielding for iOS Version 7.0.6 (March 2025)
- Updated on 14 Mar 2025
- 4 Minutes to read
- Print
- DarkLight
- PDF
Introduction
Welcome to Mobile Application Shielding for iOS 7.0.6!
The OneSpan Customer Portal only accepts connections via TLS 1.2 or later. Earlier versions are no longer supported because all versions of the TLS protocol prior to 1.2 have been deprecated.
This is a release of Mobile Application Shielding with issue fixes. For information about configuring and using Mobile Application Shielding, see the Mobile Application Shielding Integration Guide.
On the OneSpan Customer Portal, the last 12 versions of Mobile Application Shielding are available for download. To maintain protection against the latest mobile threats, ensure to update Mobile Application Shielding to the latest version!
Supported platform versions
iOS 12.0 – iOS/iPadOS 18
With the end of support for iOS 9.0, support for 32-bit architectures also ended.
Shielding Tool:
Windows 10: 64-bit Java 17
Mac OSX (10.15+)
The Shielding Tool requires a macOS system to sign applications.
Ubuntu Linux 20.04 LTS or 22.04
Xcode 15 and later. We recommend using the latest stable Xcode version.
iOS platform updates
App Shielding version 7.0.6 is compatible with iOS/iPadOS 18.4 beta 2.
As of March 1, 2025, App Shielding for iOS version 5.0.5.95564 and earlier are no longer supported. For more information, refer to the OneSpan Mobile Portal or the OneSpan Customer Portal.
Deprecations
Platform minimum supported version
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!
Deprecated API
As of App Shielding version 6.5.0, the ShieldCallback API has been deprecated and will be removed in a future version. This API has been replaced with the new PRMShieldEventManager and PRMShieldEventDelegate protocols that have been integrated into the ShieldSDK callback APIs.
New features and other updates
Configuration options renamed
In the OneSpan Mobile Portal, the following configuration options have been renamed and their descriptions updated accordingly:
Exit On Screenshot has been renamed to Exit On Screenshot or Screen Recording. When enabled, the application is exited when a screenshot is taken or when a screen recording is detected. For more information, see Configuration of App Shielding for iOS apps.
Exit on Screenshot URL has been renamed to Exit On Screenshot or Screen Recording URL. If a URL is specified, a web page is launched with an explanation when the application is shut down because the user takes a screenshot or the screen is being recorded. For more information, see Exit URL Launching.
Fixes and other changes
SHD-3220: Improved Dopamine jailbreak detection
Dopamine jailbreak detection has been improved, and Dopamine detection has been added when RootHide is active.
App Shielding detects the following RootHide versions:
Dopamine-roothide v1.1.1
Dopamine-roothide v2, versions v13 and v15
App Shielding currently does NOT detect the following versions:
Dopamine-roothide v1.1.2
Dopamine-roothide v2, versions v14 and v16
Other notices
Xcode warning for missing dSYM file
Xcode 16 introduced a new warning when it discovers a missing dSYM file. For example:
```
Upload Symbols Failed
The archive did not include a dSYM for the MyAppx.framework with the UUIDs
[XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX]. Ensure that the archive's dSYM folder
includes a DWARF file for MyAppx.framework with the expected UUIDs.
```
The warning can safely be ignored, as it relates to missing symbols for the App Shielding dynamic library. App Shielding is a proprietary SDK, and OneSpan has never shared debug symbols for the library, which is the same for most proprietary/closed source libraries.
Known limitations
The limitations described here have not yet been solved for the current Mobile Application Shielding version. Possible workarounds are described where available.
Bypassing App Shielding protection in Cordova-based applications
Description: Because of the nature of pure Javascript frameworks such as Cordova, the effectiveness of the push and pull bindings of App Shielding is affected. As a result, it might be possible to extract all Javascript files from a shielded application and build a new Cordova-based application with the extracted Javascript files. That new application will behave identical to the original one but has two major differences:
It is not longer protected with App Shielding.
It is signed with a different developer certificate.
Because this new application is signed with a different developer certificate, it is recognized by the stores or every device as a completely different and new application in comparison to the original shielded application. It cannot be avoided that a new application like this is built that looks and behaves similar to the original application.
OneSpan risk assessment: Threat actors will need to make heavy use of targeted phishing attacks to convince users of the original application to install the rogue version. For attackers, however, it is much easier to use existing malware frameworks that mimic hundreds of login screens in one single piece of malware. In addition, the existence of any rogue versions of the application does not affect the security features of the original shielded application. Everyone who is using the genuine, shielded application is protected with all the features of App Shielding, including all security measures of the original application. Therefore, we consider this issue to be of low risk.
Xcode marks ShieldSDK.xcframework package as not signed/verified
Xcode marks the ShieldSDK.xcframework package as not signed or verified and might move it to quarantine mode. If Xcode displays a message like ShieldSDK.xcframework cannot be opened..., follow these steps to resolve it:
Select Cancel.
Open the macOS System Settings.
Navigate to Privacy & Security.
Scroll down to the security warning and select Allow Anyway.
This will be fixed as soon as possible.
External screen block
Blocking external screens (e.g. AirPlay) is currently not working for apps that use UISceneDelegate in iOS 13 and later.
Jigsaw: unexpected terminations or other issues
If you are using Jigsaw, the following apps might encounter unexpected termiantions or other issues:
Apps that utilize heavy bridging between Swift and Objective-C.
Apps which programmatically read information at the beginning of virtual space, such as the Mach-O header.