Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I retrieve messages logged with os_log from iPad/iPhone?

I am using the new Unified Logging API in Swift.

So I create a logger and use it as below:

let testLogger = OSLog(subsystem: "my.subsystem", category: "test")
os_log("just a test: %@", log: testLogger, type: .error, "error")

How can I retrieve the logged message if the iOS device is disconnected from the Mac?

I know that the new Console application shows messages logged when the device is connected to the Mac. However, I want to retrieve a message that was logged when the device was disconnected from the computer. How can I achieve that?

Thank you.

like image 220
jair.jr Avatar asked Mar 03 '17 21:03

jair.jr


3 Answers

On iOS 11, you can now capture a sysdiagnose and get access to the sysdiagnose for emailing (don't email this, it's huge), or exporting to dropbox/airdrop to your Mac. Instructions.

The gist of it is :

  • hold down volume up and volumn down and power button for 1.5 seconds until the screen vibrates.
  • then wait for upto 10 minutes and on your iOS 11 device go to:

Settings > Privacy > Analytics > Analytics Data > sysdiagnose_[xxx] > tap share icon in the nav bar. For me it took less than a minute.

Search the logs for sysdiagnose. It will be something like sysdiagnose_2018.12.13_14-16-19-0500_iPhone_OS_iPhone_15G77

Then share it through AirDrop. You don't need a cable and iTunes anymore.

like image 90
Daniel Avatar answered Nov 05 '22 23:11

Daniel


The only way I have been able to uncover is to trigger a sysdiagnose on the iOS device, then connect it to a computer and let it sync with iTunes, then gather the logs from the filesystem.

To trigger a sysdiagnose on an iOS device you need to press the volume up, volume down and power buttons at the same time. Then wait for it to finish. Apple says "10 minutes". Then connect to a computer and sync with iTunes.

The logs are on macOS here:

~/Library/Logs/CrashReporter/MobileDevice/[Your_Device_Name]/DiagnosticLogs/sysdiagnose

On Windows, I am not sure.

More details in Apple sysdiagnose intructions

like image 20
Nicolai Henriksen Avatar answered Nov 06 '22 00:11

Nicolai Henriksen


Original answer from here

The current steps in iOS14 are like this:

General > Accessibility > Touch >> Assistive Touch >> Single Tap >> Analytics

Finally, touch the button. Sysdiagnose will start.

enter image description here

Once you’re done. Disable it, because you don’t want to constantly trigger that sysdiagnose…

like image 26
mfaani Avatar answered Nov 05 '22 23:11

mfaani