สำหรับใครก็ตามที่เกิดขึ้นในอนาคต สาเหตุที่ NSLog ไม่พิมพ์ลง syslog ใน iOS 10 และ iOS 11 เกิดจากการที่ Apple เปลี่ยนเป็น Unified Logging
คุณสามารถดู WWDC พูดคุยเกี่ยวกับเรื่องนี้ได้ที่นี่: https://developer.apple.com/videos/play/wwdc2016/721/
เอกสารที่นี่: https://developer.apple.com/documentation/os/logging
ตั้งแต่ 10 เป็นต้นไปคุณควรใช้ os_log แทน NSLog
วิธีค้นหาบันทึกบนดิสก์: https://www.blackbagtech.com/blog/2017/09/22/accessing-unified-logs-image/
สรุปได้ว่าบันทึกจะอยู่ใน /var/db/diagnostics
ที่ซึ่งสามารถพบได้สำหรับ VM ที่/Users/USERNAME/Library/Developer/CoreSimulator/Devices/SIMULATOR-GUID/data/var/db/
คัดลอกรายการทั้งหมดภายในdiagnostics
และuuidtext
ลงในโฟลเดอร์เดียว (อย่ารวมการวินิจฉัยโฟลเดอร์หรือ uuidtext เฉพาะสิ่งที่อยู่ภายใน)
เปลี่ยนชื่อโฟลเดอร์นั้น foldername.xarchive
นั้น
เปิดใน Console.app หรือใช้ OSX util log
:log show <path to archive> --info --predicate <options>