fix: stub MLKit Clearcut telemetry to prevent crash (v4.15.2)
Kima crash: -[MLKITx_CCTClearcutLogger log:completion:] background
dispatch → ... → +[MLKITx_CCTClearcutFileUtility
computeUrlForLogContextDir:context:bundleId:] "unrecognized selector".
MLKit's telemetry subsystem is fire-and-forget on an internal dispatch
queue and doesn't surface the crash until deep in the call chain.
Telemetry isn't needed for pose detection. Swizzle the entry-point
`-[MLKITx_CCTClearcutLogger log:completion:]` to a no-op that signals
success via the completion handler, so the failing writeLog → file-IO
path is never reached.
Installation runs twice for robustness: once at +load (may be too early
if MLKit's classes haven't registered yet) and once from
mlkit_set_resource_dir (called from Kotlin after app init, when all
classes are guaranteed loaded). A flag short-circuits if the first
attempt succeeded.
Version bumped to 4.15.2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>