Menu
Menu
inquire
DexProtector iOS documentation

Documentation

Android documentation
iOS menu

iOS

FAQs

General FAQs - DexProtector for iOS

1. What types of final packages can be DexProtected?

All iOS packages can be DexProtected (.ipa, .xcframework, .framework, .xcarchive), but we strongly recommend protecting xcarchives for ease and consistency in the protection process itself.

2. Is DexProtector server-side or offline?

The protection process takes place entirely offline, but Runtime Checks can (optionally) send reports to servers.

3. Does DexProtector work with apps created with cross-platform frameworks, such as Cordova (/Phonegap), ReactNative, Flutter, NativeScript?

Yes; see the page on DexProtecting Hybrid and Cross-Platform Applications.

FAQs on Installation, Activation, Configuration, and Distribution

1. Where can I download the distribution package?

Links to distribution packages will be sent directly when trial or full licenses are issued, and when there are major updates to DexProtector. If you would like to request the latest version, please write to our support team.

2. Which is the most recent version of DexProtector?

To check the most recent version of DexProtector, along with all release notes, please see our Product updates page.

3. Which version am I currently using?

To check which version of DexProtector you are currently using, you can (a) click License Info in DexProtector Studio; (b) run the following command in the CLI: java -jar dexprotector.jar -info; or, (c) check the DexProtector log for the following information:

DexProtector Enterprise

Version: 12.5.9

Build id: 20220131

Licensed to: dexprotector@licelus.com

Support until: 01/01/2023

4. When does my license expire?

To check when your support license expires, you can (a) click License Info in DexProtector Studio; (b) run the following command in the CLI: java -jar dexprotector.jar -info; or, (c) check the DexProtector log for the following information:

DexProtector Enterprise

Version: 12.5.9

Build id: 20220131

Licensed to: dexprotector@licelus.com

Support until: 01/01/2023

5. Can I continue to use DexProtector after my license has expired?

Under the terms of our End User Licensing Agreement, you need to have an active license to use DexProtector to protect an app for distribution.

6. What will happen to previously DexProtected apps after my license has expired?

In the majority of cases, there will be no problems with DexProtected apps that have already been distributed; conflicts sometimes arise for two reasons: (1) When new OS versions are released; (2) When new devices are released. It is not always possible to futureproof DexProtector against developments related to these. In terms of security, though, published applications will be vulnerable when new tools and techniques used for attacks are developed, or when existing tools and techniques are updated. DexProtector has to be updated frequently to detect and prevent these tools.

7. What are the system requirements for DexProtector?

Protection of iOS apps must be done on MacOS. The only other requirement (or rather strong recommendation) is use Oracle's JRE, and it is also recommended to use the most recent version of Java.

8. Does DexProtector work on MacOS with Apple Silicon (ARM64)?

Yes, versions of DexProtector work on MacOS with Apple Silicon (ARM64), such as the M1 chip.

9. Why do I get the error message: 'The license file is not found or corrupted. Try running DexProtector with the -activate option'?

Activation codes are single-use, and license files are restricted to a specific user on a specific device / operating environment; they cannot be transferred between users or between devices / operating environments. Every time you try to use DexProtector on an additional device, you will need to request a new code. License files can also be corrupted due to OS updates, the effects of antivirus software, and the presence of external storage devices. Depending on your license agreement, there may be a limit to the number of active license files that you can have at any one time, but you are free to request a new activation code as often as you find necessary by writing to our support team.

10. My app is crashing after DexProtection; what can I do?

If you are testing and your app is crashing unexpectedly, please make sure that (a) you are using the most recent version of DexProtector; (b) you have the correct signing configuration, and (c) you have not encrypted any classes or resources that need to be accessed directly by the system. If you continue to have problems, please write to our support team, and attach the DexProtected app, the relevant configuration file, and the verbose protection log. If you suspect a conflict with R8/ProGuard, please also send the mapping file.

If your app is crashing unexpectedly on end users' devices after distribution, please write to primary@licelus.com for support, and include all relevant stack traces, and details from the developer console (Google Play or Amazon Appstore) about app version, affected devices, and OS versions. Please also attach the DexProtected app, the relevant configuration file, and the verbose protection log.To generate the verbose log, do as follows depending on how you use DexProtector:

DexProtector Studio: Enable verbose logging via the Build Settings window, then after protection find the link to the saved log in the 'Protection results' window

CLI: Add -verbose to your command line for running DexProtector, then redirect the standard output to a file (… > dexprotector_log.txt 2>&1)

Gradle plugin: add <verbose>true</verbose> to your DexProtector configuration file; the logs will be saved at build/outputs/dexprotector/<buildType>/* (please send all files from the folder)