第一步,注册回调函数myDeviceEvent:
idevice_event_unsubscribe();
idevice_error_t error = idevice_event_subscribe(myDeviceEvent, this);
回调函数myDeviceEvent的实现:
void myDeviceEvent(const idevice_event_t *event, void *user_data)
{
auto mobileDev = (MyMobileDevice*)user_data;
auto eventType = event->event;
qDebug() << "phone event:" << event->udid << event->event << event->conn_type;
switch (eventType)
{
case IDEVICE_DEVICE_ADD:{//手机插上usb线后,电脑识别到手机
QMetaObject::invokeMethod(mobileDev, "appendDevice", Qt::QueuedConnection, Q_ARG(QString, event->udid));
};break;
case IDEVICE_DEVICE_REMOVE:{//电脑检测到手机拔掉usb线
QMetaObject::invokeMethod(mobileDev, "removeDevice", Qt::QueuedConnection, Q_ARG(QString, event->udid));
};break;
case IDEVICE_DEVICE_PAIRED:{ //用户点击信任后会触发这个
QMetaObject::invokeMethod(mobileDev, "appendDevice", Qt::QueuedConnection, Q_ARG(QString, event->udid));
};break;
}
}