samdmarshall / SDMMobileDevice

MobileDevice Implementation
BSD 3-Clause "New" or "Revised" License
574 stars 97 forks source link

Listener fails to retrieve any iOS devices after awhile #90

Closed Kalvin126 closed 5 years ago

Kalvin126 commented 8 years ago

So I have a small program that grabs iOS device information as they are plugged in. After awhile it fails to listen for any devices and could only be brought back if I restart the app. Now there are several case that I have troubleshooted this.

In debug or release build, If the program is ran and debugged by Xcode, it works perfectly; never disconnects. If the program is ran by itself in either build config, the SDMMobileDevice instance/controller seems to fail to listen for iOS device connections.

SDMMD_USBMuxAttachedCallback or SDMMD_USBMuxDeviceListCallback are never called after it fails to listen for device connections. I do know that devices are being registered as iTunes can sync to it and com.apple.usbmuxd sends a _SendAttachNotification Device as posted in the console.

I am not sure if this framework is designed to work for long sessions or if there was a way to restart the SDMMD_USBMuxListener.

samdmarshall commented 8 years ago

Can you please create a sample project that reproduces this behavior? I've not heard of this issue before and I feel it would have come up given some of the projects that use this.

Kalvin126 commented 8 years ago

I have attached a google shortlink to the my copy of a barebones project (Github only allows 10MB max attachments) . You can find it in the DeviceListener Project. I have modified the attached SDMMobileDevice framework to process Wifi connected devices to be processed just like USB devices. I have observed that after 30minutes to an hours, either devices could not be read or be detected at all.

https://goo.gl/EISxJJ

Kalvin126 commented 5 years ago

Closing as this is an old/inactive issue (and my project is no longer maintained)