def device_info(self):
        """ Get the device info.

        Notes:
            Might not work on all devices.

        Returns:
            Dict for device info,
            e.g. AttrDict({
                'timeZone': 'GMT+0800',
                'currentLocale': 'zh_CN',
                'model': 'iPhone',
                'uuid': '90CD6AB7-11C7-4E52-B2D3-61FA31D791EC',
                'userInterfaceIdiom': 0,
                'userInterfaceStyle': 'light',
                'name': 'iPhone',
                'isSimulator': False})
        """
        if not self._device_info:
            device_info = self.driver.info
            try:
                # Add some device info.
                if not self.is_local_device:
                    raise LocalDeviceError()
                tmp_dict = TIDevice.device_info(self.udid)
                device_info.update(tmp_dict)
            except:
                pass
            finally:
                self._device_info = device_info
        return self._device_info
 Get the device info.

        Notes:
            Might not work on all devices.

        Returns:
            Dict for device info,
            e.g. AttrDict({
                'timeZone': 'GMT+0800',
                'currentLocale': 'zh_CN',
                'model': 'iPhone',
                'uuid': '90CD6AB7-11C7-4E52-B2D3-61FA31D791EC',
                'userInterfaceIdiom': 0,
                'userInterfaceStyle': 'light',
                'name': 'iPhone',
                'isSimulator': False})
        
airtest/core/ios/ios.py