Back to Blog Home
← all posts

NativeScript iOS Security

September 30, 2021 — by Teodor Dermendjiev

Mobile platforms are always improving security which leads many users (and developers) to often believe everything they do on the device is 100% safe and protected. While this is often true, developers still need to think about vulnerabilities in their application which may lead to loss or damaged user data.

All iOS applications are compiled to machine code which attackers need to disassemble and analyze in order to modify the executable (aka tampering).

To implement any anti-tampering mechanism you should be able to detect if your application has been launched in a malicious environment (e.g. on a jailbroken device, simulator or with a debugger).

NativeScript users can install the @nativescript/ios-security plugin to help. It's a wrapper on top of the excellent IOSSecuritySuite: iOS platform security & anti-tampering Swift library

For example, you can check if the app is running on a jailbroken device with:

import { IOSSecurity } from '@nativescript/ios-security';

IOSSecurity.amIJailbroken()

Or detect a debugger with:

IOSSecurity.amIDebugged()

For other features of the plugin, check the repo

Happy coding and don't forget—No anti-tampering mechanism will fix insecure code!