- Home /
How can I automate iOS profiling?
I am working on a project where I want to automatically profile a nightly iOS build, digest the profiling data and produce a report for that day.
The options for profiling I currently have is either:
Enable internal profiler.
Setting Profiler.logFile.
Automate Xcode Instruments.
Preferably, I'd want to use the internal profiler (option #1) because the information is good enough for my needs and it has relatively low overhead. For Android I can use logcat and parse the data but I can't seem to find a simple way to access the log for iOS (It's piped to Xcode Console via the debugger as far as I understand but I don't know how to get the output). So for iOS I wrote a C plugin that tee stdout to file which I call as soon as Unity start, so I get a file with pretty much the same contents as adb logcat would give. If possible I would rather scrap my plugin if the log can be accessed elsewhere.
The problem I have with option #1 and #2 is that I don't yet know how to automatically transfer the file from iOS device to my Mac. From what I've gathered I need to jailbreak the device and install ssh to be able to do that. Is there any other way to get the file? Preferably a terminal command.
I guess I can work around it by opening a network socket in Unity and transfer the file(s) over network when I'm done but I rather avoid creating such a system if there is a simpler way to solve this rather silly issue.
The problem I have with option #3 is that I don't know how to automate Instruments or parse the data. Since I will be switching scenes I want to be able to annotate the profiling so that I can log performance for Scene1, then Scene 2, then Scene 3 and so on.
I rather not take this route (option #3) because I only want a simple overview of whats already available in the internal profiler. It's just difficult to get the internal profiler log into a program where I can parse the log.
Anyone? Offering 500 reputation award for a usable answer.