EmergeTools / ETTrace

Easily and accurately profile iOS apps
https://www.emergetools.com/ettrace
MIT License
527 stars 20 forks source link

tvOS support #72

Open mkj-is opened 6 months ago

mkj-is commented 6 months ago

ETTrace does not support tvOS.

I quickly experimented with changing Package.swift and build.sh files. I built the ETTrace framework successfully, but got stuck when receiving results from the device. You can see my changes here: https://github.com/EmergeTools/ETTrace/compare/main...mkj-is:ETTrace:feature/tvos-support?expand=1

% ettrace --launch
Please open the app on the device
Re-run with `--simulator` to connect to the simulator.
Press return when ready...

Connecting to device.
Connected
Re-launch the app to start recording, then press return to exit

Connected
Waiting for report to be generated...

Do you see what further changes would be required to make this work?

Please note I was using Apple TV HD with USB connection.

noahsmartin commented 6 months ago

Thanks for trying this out @mkj-is! I don't have an Apple TV to test with, but I have some ideas for what you could try. When you first ran ettrace did the tvOS app automatically quit? If it did that would indicate the peertalk channel was working because the message to restart was sent from the CLI to the app. If that worked then the next step would be to make sure the recording was stopped on the tvOS app. You could add some logs to +stopRecording in EMGPerfAnalysis.mm and make sure that gets called

mkj-is commented 6 months ago

Thanks for these ideas. The app quit, so the communication kind of works. Will try to debug this some more.

noahsmartin commented 6 months ago

Added support for tvOS (and visionOS) simulators here: https://github.com/EmergeTools/ETTrace/pull/73