def device_info(udid):
        """
        Retrieves device information based on the provided UDID.

        Args:
            udid (str): The unique device identifier.

        Returns:
            dict: A dictionary containing selected device information. The keys include:
                - productVersion (str): The version of the product.
                - productType (str): The type of the product.
                - modelNumber (str): The model number of the device.
                - serialNumber (str): The serial number of the device.
                - phoneNumber (str): The phone number associated with the device.
                - timeZone (str): The time zone of the device.
                - uniqueDeviceID (str): The unique identifier of the device.
                - marketName (str): The market name of the device.

        """
        device_info = BaseDevice(udid, Usbmux()).device_info()
        tmp_dict = {}
        # chose some useful device info from tidevice
        """
        'DeviceName', 'ProductVersion', 'ProductType',
        'ModelNumber', 'SerialNumber', 'PhoneNumber',
        'CPUArchitecture', 'ProductName', 'ProtocolVersion',
        'RegionInfo', 'TimeIntervalSince1970', 'TimeZone',
        'UniqueDeviceID', 'WiFiAddress', 'BluetoothAddress',
        'BasebandVersion'
        """
        for attr in ('ProductVersion', 'ProductType',
                     'ModelNumber', 'SerialNumber', 'PhoneNumber',
                     'TimeZone', 'UniqueDeviceID'):
            key = attr[0].lower() + attr[1:]
            if attr in device_info:
                tmp_dict[key] = device_info[attr]
        try:
            tmp_dict["marketName"] = MODELS.get(device_info['ProductType'])
        except:
            tmp_dict["marketName"] = ""
        return tmp_dict

        Retrieves device information based on the provided UDID.

        Args:
            udid (str): The unique device identifier.

        Returns:
            dict: A dictionary containing selected device information. The keys include:
                - productVersion (str): The version of the product.
                - productType (str): The type of the product.
                - modelNumber (str): The model number of the device.
                - serialNumber (str): The serial number of the device.
                - phoneNumber (str): The phone number associated with the device.
                - timeZone (str): The time zone of the device.
                - uniqueDeviceID (str): The unique identifier of the device.
                - marketName (str): The market name of the device.

        
airtest/core/ios/ios.py