dryark / stf_ios_support

Central repo to connect and document components/repos needed for IOS stf support
Other
153 stars 65 forks source link

IVF / ios_avf_pull fails to start on devices that have dash in UDID #59

Closed chaooe closed 3 years ago

chaooe commented 4 years ago

image

When i set config video as true. { "xcode_dev_team_id": "xxxxxxxx", "stf": { "ip": "10.3.100.155", "hostname": "10.3.100.155" }, "video": { "enabled": true, "use_vnc": false, "vnc_scale": 2, "vnc_password": "", "frame_rate": 10 }, "install": { "root_path": "", "config_path": "config.json" } } It stuck on the ivf process image

nanoscopic commented 4 years ago

Please run ./view_log -proc ivf from the stf_ios_support folder and respond what the output is. Without some error output I have no way to debug what the issue is that you are encountering.

chaooe commented 4 years ago

Attached the ivf logs 2020-08-14 09:39:57.543 ivf_pull[1090:12203] Send data to nanomsg tcp://127.0.0.1:7879

2020-08-14 09:39:58.951 ivf_pull[1093:12354] Send data to nanomsg tcp://127.0.0.1:7879 2020-08-14 09:40:05.057 ivf_pull[1093:12354] device with udid '00008030-0006215134A0802E' not found

2020-08-14 09:40:07.090 ivf_pull[1111:12978] Send data to nanomsg tcp://127.0.0.1:7879 2020-08-14 09:40:13.170 ivf_pull[1111:12978] device with udid '00008030-0006215134A0802E' not found

chaooe commented 4 years ago

My iPhone is Apple 11, iOS 13.5, with the UUID 00008030-0006215134A0802E

nanoscopic commented 4 years ago

I believe this is due to the dash in the uuid. I have updated ios_avf_pull to automatically remove the dash: https://github.com/nanoscopic/ios_avf_pull/commit/688a86aa1ca6da79bb7da04bcca62d754a484063

I have also added a 'list' command to the binary. You can run it by pulling the update, rebuilding, and running ./bin/ivf_pull list from stf_ios_support folder or ./ivf_pull list from the stf_ios_support/repos/ios_afv_pull directory.

chaooe commented 4 years ago

I have rebuild it . I can't see the device as below 图片

chaooe commented 4 years ago

I have checked it can get the uuid from previous command idevice_id -l. alexzhao@apple stf_ios_support_2.git % /usr/local/bin/idevice_id -l 00008030-0006215134A0802E

nanoscopic commented 4 years ago

What type of IOS device is it? It's possible it is not a "muxed" media type device. That is the only real filter being set while scanning for the device: https://github.com/nanoscopic/ios_avf_pull/blob/master/ivf_pull.m#L286

What IOS version is it running?

Does video appear for your phone if you open quicktime player, start a movie recording, then select your device in the small dropdown next to the record button?

If no video shows in quicktime, then your device is borked somehow. Reboot the phone and try again. If still not working go to settings -> developer -> reset media services on the phone and try again. If it still doesn't work after both those things in quicktime then I have no idea what is wrong with your device.

chaooe commented 4 years ago

I have two devices. #1 iPhone6s with iOS 13.4.1 #2 iPhone 11 with iOS 13.5.1. And it seems not working  after i do your steps. it is very strange.

nhiendohao commented 4 years ago

HI, I'm having the same issue after get the latest version from master. It was working fine before that. ( On my stf browser, I saw connected device, however I could not see the video stream on browser yet) iOS version : 13.5.1 2020-08-14 15:26:51.268 ivf_pull[53799:165899] Send data to nanomsg tcp://127.0.0.1:7879 2020-08-14 15:26:52.359 ivf_pull[53799:165899] device with udid '00008030-0006110134D1802E' not found My observation: I try to use quicktime it does not regconize my phone. Then I try to kill PID of Quicktime then I can view video show on Quicktime again. However, the issue is still there.

chaooe commented 4 years ago

I am stuck on start the ivf process. After this process it will show the devices on the STF browser. So maybe we faced the same problem.

nanoscopic commented 3 years ago

In the process of attempting to fix this issue originally I actually broke all devices with a dash in the UDID. In order to ensure maximum compatibility regardless of the behavior of AVFoundation, I've now altered the code to check for both the dash and non-dashed UDID: https://github.com/DeviceFarmer/ios_avf_pull/commit/f61e3780ffecb41e679f684a777f7c856908324e

This should hopefully made it work for all cases and devices. Please comment if not.

nanoscopic commented 3 years ago

I believe it is fixed now. Feel free to reopen if that is not the case.

chaooe commented 3 years ago

no device shown by ./repos/ios_avf_pull/ivf_pull list

图片

and use lastest commit f61e3780ffecb41e679f684a777f7c856908324e

图片
nanoscopic commented 3 years ago

Agreed. Last commit was still broken. I have now though made additional changed and actually tested them against an IOS device with a dash in the UDID and it will now work.