Skip to main content
Version: 1.0.0

iOS and iPadOS Network Monitoring Customization - Whitelisting, Privacy, and Timeout with Appxiom framework

Appxiom provides flexible network monitoring for iOS and iPadOS apps. You can whitelist hosts, group dynamic endpoints, mask sensitive headers, and set network timeouts using Info.plist configuration.

Whitelisting Hosts

Use the HTTPMonitoring key within the AX section of your Info.plist to whitelist hosts. Only HTTP(s) calls to these hosts will be tracked by Appxiom.

Info.plist Example:

<key>AX</key>
<dict>
<key>HTTPMonitoring</key>
<dict>
<key>your-host.com</key>
<dict/>
<key>another-host.com</key>
<dict/>
</dict>
</dict>
Single Ax

Please make sure that only one AX key exists in your Info.plist file.

Grouping Dynamic Path Components

When API call issues are reported, different URLs (with dynamic IDs) can create separate tickets. Use PathPatterns in Info.plist to group endpoints with dynamic path components. Wrap dynamic segments in {}.

Info.plist Example:

<key>AX</key>
<dict>
<key>HTTPMonitoring</key>
<dict>
<key>*</key>
<dict>
<key>PathPatterns</key>
<dict>
<key>/users/{userId}</key>
<dict/>
<key>/posts/{id}</key>
<dict/>
</dict>
</dict>
</dict>
</dict>
Single Ax

Please make sure that only one AX key exists in your Info.plist file.

Privacy: Masking Sensitive Headers

Appxiom allows you to mask sensitive request/response headers using MaskedHeaders in Info.plist. You can specify one or more header keys to be masked before reporting issues.

Info.plist Example:

<key>AX</key>
<dict>
<key>HTTPMonitoring</key>
<dict>
<key>*</key>
<dict>
<key>PathPatterns</key>
<dict>
<key>*</key>
<dict>
<key>MaskedHeaders</key>
<array>
<string>X-Key</string>
</array>
</dict>
<key>/users</key>
<dict>
<key>MaskedHeaders</key>
<array>
<string>Accept</string>
<string>X-Key</string>
</array>
</dict>
</dict>
</dict>
</dict>
</dict>
Single Ax

Please make sure that only one AX key exists in your Info.plist file.

Use Case:

  • X-Key will be masked for all hosts and endpoints.
  • Accept will be masked only for /users endpoint.

Setting Host or Endpoint Timeout

Set timeouts for hosts or endpoints using the NetworkTimeout key (in milliseconds). If a call exceeds the set value, an issue report is raised.

Info.plist Example:

<key>AX</key>
<dict>
<key>HTTPMonitoring</key>
<dict>
<key>*</key>
<dict>
<key>PathPatterns</key>
<dict>
<key>*</key>
<dict>
<key>NetworkTimeout</key>
<integer>4000</integer>
</dict>
<key>/fileUpload</key>
<dict>
<key>NetworkTimeout</key>
<integer>50000</integer>
</dict>
</dict>
</dict>
</dict>
</dict>
Single Ax

Please make sure that only one AX key exists in your Info.plist file.


Frequently Asked Questions (FAQ)

Q: What is the purpose of HTTPMonitoring in Info.plist?
A: It allows you to control which hosts and endpoints are monitored by Appxiom, and to mask sensitive data as well, improving focus and privacy.

Q: Can I group API calls with dynamic path components?
A: Yes, use PathPatterns to group endpoints with dynamic segments (e.g., /users/{userId}) so similar calls are reported as a single ticket.

Q: How do I mask sensitive headers in network reports?
A: Use the MaskedHeaders key in Info.plist to specify which headers should be filtered before sending data to Appxiom.

Q: What happens if I have multiple AX keys in Info.plist?
A: Only one AX key should exist to avoid configuration conflicts and ensure proper monitoring.

Q: Can I set different timeouts for different endpoints?
A: Yes, use the NetworkTimeout key under each PathPattern to set custom timeouts per endpoint.

Q: Will masking headers affect my app’s functionality?
A: No, masking only affects what is sent to Appxiom for issue reporting, not your app’s runtime behavior.

Q: What if I don’t whitelist any hosts?
A: If no hosts are whitelisted, Appxiom will monitor all network calls.