[Feature] Developer Tools
Changelog
- Replaced all
NSLog
andprint
withOSLog
- Added a hidden developer mode, activatable by:
- tapping the build version 10 consecutive times,
- activate the build version label with VoiceOver, or
- in
DEBUG
mode withisDebugging
in the launch argument (enabled by default)
- Added a OSLog view to see the logs, with basic filters and search
- Added a Network Package composer to author network packages
- Added a hidden network package debug mode that sets capabilities to all network packges, activatable by:
- typing
isDebuggingNetworkPackage
in the Network Package composer payload text editor - in
DEBUG
mode withisDebuggingNetworkPackage
in the launch argument (disabled by default)
- typing
- Added a hidden network package debug mode that sets capabilities to all network packges, activatable by:
- Replace
[self]
with[weak self]
everywhere- Address crash on
Battery.sendBatteryStatusOut()
- log Battery instance leak for debugging
- Address crash on
Note
- Debug messages are only available for viewing when attached to a debugger
- Privacy redaction is not applied to network packages (device's UUID assigned by KDE Connect and name will be exposed in the log)
- These logs are stored on users' devices only and we have no way of accessing them. Users must manually export/screenshot the logs
Known Issues
- OSLog vieweing is only available on iOS 15 because Apple didn't have time to deliver it for iOS 14
- Network Package Composer does not support adding file payload because the existing payload mechanism consumes too much memory and is hard to work with
- Contributors need to learn OSLog: https://invent.kde.org/network/kdeconnect-ios/-/wikis/Logging-with-OSLog
Demo
Edited by Apollo Zhu