/**
 * Retrieves device information based on the specified information type.
 *
 * This function provides access to various iOS device properties and system information.
 * It can return different types of device data depending on the requested information type.
 *
 * @param infoType The type of information to retrieve. Supported values:
 *   - "model": Returns the device model name (e.g., "iPhone", "iPad")
 *   - "name": Returns the user-assigned device name
 *   - "version": Returns the system version only
 *   - "bundle": Returns the app bundle identifier
 *   - "battery": Returns battery level as a percentage string
 * @param includePrefix Whether to include a descriptive prefix in the returned string.
 *   When true, results are prefixed with labels like "Model: " or "Name: "
 *
 * @return A string containing the requested device information, or "Unknown" if the
 *   information type is not supported or cannot be retrieved.
 *
 * @throws IllegalArgumentException if infoType is null or empty
 *
 * @sample
 * ```kotlin
 * val platform = Platform()
 * val deviceModel = platform.getDeviceInfo("model", false) // Returns "iPhone"
 * val deviceName = platform.getDeviceInfo("name", true)    // Returns "Name: John's iPhone"
 * ```
 */