如何使用 libimobiledevice 获取已连接设备的 ECID?
How can I get the ECID of a connected device using libimobiledevice?
使用 libimobiledevice 我可以通过 运行
从命令行获取已连接设备的 ECID
$ ideviceinfo -k UniqueChipID
有没有办法使用 C API 来做到这一点?
您正在查找 lockdownd_get_value
,它是 libimobiledevice C api 的一部分。声明为:
/**
* Retrieves a preferences plist using an optional domain and/or key name.
*
* @param client An initialized lockdownd client.
* @param domain The domain to query on or NULL for global domain
* @param key The key name to request or NULL to query for all keys
* @param value A plist node representing the result value node
*
* @return LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is NULL
*/
LIBIMOBILEDEVICE_API_MSC lockdownd_error_t lockdownd_get_value(lockdownd_client_t client, const char *domain, const char *key, plist_t *value);
您可以使用 lockdownd_client_new
创建 lockdown_client_t
。查看 ideviceinfo
源代码以获取有关如何设置锁定客户端的更多信息。
domain
和 key
参数映射到您在命令行中提供的内容。您没有指定域,因此将其设置为 NULL
。 key
应该是您作为 -k
参数传递的值,因此 UniqueChipID
.
输出将是 plist_t
。您可以使用 libplist API 将其转换为 XML 或字符串。
使用 libimobiledevice 我可以通过 运行
从命令行获取已连接设备的 ECID$ ideviceinfo -k UniqueChipID
有没有办法使用 C API 来做到这一点?
您正在查找 lockdownd_get_value
,它是 libimobiledevice C api 的一部分。声明为:
/**
* Retrieves a preferences plist using an optional domain and/or key name.
*
* @param client An initialized lockdownd client.
* @param domain The domain to query on or NULL for global domain
* @param key The key name to request or NULL to query for all keys
* @param value A plist node representing the result value node
*
* @return LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is NULL
*/
LIBIMOBILEDEVICE_API_MSC lockdownd_error_t lockdownd_get_value(lockdownd_client_t client, const char *domain, const char *key, plist_t *value);
您可以使用 lockdownd_client_new
创建 lockdown_client_t
。查看 ideviceinfo
源代码以获取有关如何设置锁定客户端的更多信息。
domain
和 key
参数映射到您在命令行中提供的内容。您没有指定域,因此将其设置为 NULL
。 key
应该是您作为 -k
参数传递的值,因此 UniqueChipID
.
输出将是 plist_t
。您可以使用 libplist API 将其转换为 XML 或字符串。