Skip to content

About iwdp and iOS connection via WiFi #263

@masakazu-k

Description

@masakazu-k

Therefore, we investigated the following whether able to connect iOS via WiFi or not.

  1. Verify whether Attach / Detach of real iOS device (udid) can be detected via WiFi

As a result of the verification, we found that Attach / Detach of real iOS device can be detected via WiFi by using libimobiledevice's idevice_event_subscribe function.
Attach / Detach by switching WiFi on / off was detectable (there is a time difference).

Supplement

If USB on connecting and "via network" is ON, the same iOS terminal will be detected twice.

  1. Verify whether the Web Inspector service can be activated

It was possible to start without modification in IWDP.

  1. Verify whether Web Inspector service and data can be transmitted / received

In the case of via WiFi, the ssl_enabled flag becomes true after executing the idevice_connect function of libimobiledevice.
When the ssl_enabled flag is true, since the subsequent process becomes an error, modified the idevice_connection_enable_ssl function to execute as follows.

  if(service->ssl_enabled){
    fprintf(stdout, "INFO: %s(%s) is connected via WiFi\n", *to_device_name, device_id);
    if(idevice_connection_enable_ssl(connection) != IDEVICE_E_SUCCESS){
        perror("idevice_connection_enable_ssl failed!");
        goto leave_cleanup;
    }
  } else {
    fprintf(stdout, "INFO: %s(%s) is connected via USB\n", *to_device_name, device_id);
  }

However, the following error occurs when sending / receiving data between iwdp and Web Inspector service.

Error contents

on iOS:

webinspectord	Launched (Device)
webinspectord	Automatic Inspection Configuration Changed : enabled(0)
webinspectord	XPC Application Connection Event: 68 - <private>
webinspectord	Error getting name for <private>: Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"
webinspectord	Application Connected: 68 - PID:68 - <private>
webinspectord	Device: Starting lockdown XPC checkin process
webinspectord	Device: Received Client Connection
webinspectord	Received Pending Client Connection: <_RWIRelayClientTCPConnection: 0x127d0d300>
webinspectord	Unexpected type: <private>, Expected type: <private>
webinspectord	_RWITCPConnection read failed: 5 - Input/output error
webinspectord	Shutting Down, last client disconnected.
webinspectord	Automatic Inspection Configuration Changed : enabled(0)

on IWDP:

Unable to connect to my ipad name (my ipad udid)
  Please verify that Settings > Safari > Advanced > Web Inspector = ON

Supplement

Web Inspector is on.

Until the Web Inspector service starts up, it is executing with the API of libimobiledevice, but actual data transmission / reception is directly written to the file descriptor (src / rpc.c).
Due to this, Is the SSL related error occurred when sending and receiving data between iwdp and the Web Inspector service?
If 3. is cleared, I think that iwdp and iOS terminal can connect via WiFi.
Please solve the issue so that can connect to iOS via WiFi.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions