-
Notifications
You must be signed in to change notification settings - Fork 328
Description
swift-log does not currently compile for Android 23, but only Android 24+.
This is due to the following code:
swift-log/Sources/Logging/Logging.swift
Lines 1206 to 1210 in 1be2c17
| #if canImport(WASILibc) || os(Android) | |
| internal typealias CFilePointer = OpaquePointer | |
| #else | |
| internal typealias CFilePointer = UnsafeMutablePointer<FILE> | |
| #endif |
On Android 23 a file pointer is actually UnsafeMutablePointer<FILE> and not OpaquePointer, unlike newer API versions.
We are working on adding support for Android version availability checks, but until that is officially merged and released, we cannot use swift-log or any dependencies which use it, which is quite unfortunate.
@ktoso and I discussed that removing the default file logger for Android could be a solution. "Technically" android is just best effort supported right now, so you could argue that this is fine.
Also, Android developers would probably bring their own logger implementation, which uses <android/log.h>, instead of just using to stdout, since by default, the Android system sends stdout and stderr output to /dev/null.