MadridInternalSettings

MadridInternalSettings is an internal version of /System/Library/PreferenceBundles/MadridExternalSettings.bundle (iMessage Debugging). This bundle is found on internal UI builds of iOS. Interestingly enough, the binaries for the "Internal" and "External" variants are nearly identical.

It provides all of the logging functionality of its "External" variant, while adding options for environment, automation, and UI debugging.

Environment
The bundle allows you to choose from three registration environments. These settings persist across iMessage (Madrid) and FaceTime (Conference).


 * prod - The default environment for production iOS installs.
 * ven1-external - Registration endpoint.
 * ven2-external - Registration endpoint.

Changing these settings kills all communication-related processes.

Registration
This section lists debug information about registered Apple IDs and phone numbers.

iMessage Automation
This section allows the user to send an automated burst of messages to any phone number registered to iMessage. It requires an internal automation framework.

Processes
This section allows the user to kill communication-related processes individually, or all at once. It can also "nuke" any iMessage related information in the keychain.

These processes include:
 * mediaserverd
 * imagent
 * imavagent
 * SpringBoard
 * MobilePhone.app
 * MobileSMS.app

Debugging
This section houses many internal debugging settings:
 * Ignore Delivery Receipts - Messages can be sent to the device, but the sender will not be notified of delivery.
 * Internal Failure UI - Enabling this will replace "Message Send Failure" or similar text with a description of the error.
 * Read Receipts Confirmed - Whether or not the device will confirm if a message has been read.
 * Messages Logging
 * STK Logging
 * Share My Location Logging