Reduce Objective-C Metadata
| Plan | Platforms | MASVS |
|---|---|---|
| Team | iOS | MASVS-RESILIENCE-3 |
Overview
Reduce Objective-C Metadata reduces readable Objective-C metadata in protected iOS builds. Use it when class, selector, protocol, and runtime metadata would reveal too much about your app's structure or security-sensitive workflows.
This control is designed to make selector and class inspection less revealing while preserving expected app behavior. It works best as part of an iOS hardening profile with debug symbol stripping, string protection, and careful QA.
How It Works
During protected build creation, AppTego reduces supported Objective-C metadata that is not required for normal app behavior. The protected app keeps the runtime information needed by iOS frameworks and your application, while removing or reducing metadata that mainly helps static analysis.
This is a build-time control. Existing deployed apps are not changed until you create and distribute a new protected IPA.
How to Enable the Control
Navigate to Code Obfuscation from the AppTego portal, and expand the Metadata Reduction section. Under this section you will find the Reduce Objective-C Metadata control. Click Enable to apply it to the next protected build.
API Configuration Example
{
"StripObjCMetadata": {
"protection": true
}
}
| Field | Purpose |
|---|---|
protection | Enables reduce objective-c metadata for protected builds. |
Use When
| Use case | Why it helps |
|---|---|
| Objective-C apps | Reduces readable runtime metadata that can reveal app structure. |
| Mixed Swift and Objective-C apps | Adds protection for Objective-C surfaces that remain visible in hybrid projects. |
| Sensitive workflows | Makes static inspection less useful around authentication, fraud, payments, or proprietary logic. |
| Release hardening | Complements symbol stripping and string encryption in production builds. |
Rollout Guidance
- Enable the control in Development.
- Build a protected IPA.
- Test app launch, navigation, delegates, notifications, callbacks, Objective-C categories, native bridges, and third-party SDK flows.
- Confirm crash reporting and support diagnostics remain useful.
- Promote through Staging before Production.
Compatibility Notes
- Apps using dynamic Objective-C lookup, selectors stored as strings, method swizzling, dependency injection, or runtime introspection need representative QA coverage.
- Metadata required by iOS, system frameworks, or critical app behavior may be preserved.
- If a third-party SDK depends on readable metadata, validate that SDK's flows before release.
Support Matrix
| Platform | Supported Versions | Notes |
|---|---|---|
| Android | Not supported | Android metadata reduction is covered by Android obfuscation controls. |
| iOS | All versions | Reduces supported Objective-C metadata during protected build processing. |