-1

I am running into an issue where my CallDirectory app extension runs out of memory immediately when I toggle my application on in the call blocking & identification settings screen. I set breakpoints in CallDirectoryHandler.beginRequest(with context:) as well as the class' initializer and none were hit. The call stack only contains one thread with two frames, none of which include my source code. I've also tried removing almost all of the code from my extension target to only have an empty CallDirectoryHandler implementation that didn't fix the issue.

import Foundation
import CallKit

class CallDirectoryHandler: CXCallDirectoryProvider {

    override func beginRequest(with context: CXCallDirectoryExtensionContext) {
        context.delegate = self
        context.completeRequest()
    }

}

extension CallDirectoryHandler: CXCallDirectoryExtensionContextDelegate {

    func requestFailed(for extensionContext: CXCallDirectoryExtensionContext, withError error: Error) {
        
    }

}

I also tried removing all linked frameworks and libraries from the CallDirectory extension target, which didn't fix the issue.

Here is the stacktrace: enter image description here

I'm not very familiar with assembly, but it looks like this is related to loading something from a cache. Has anyone encountered this before?

Chandler De Angelis
  • 2,646
  • 6
  • 32
  • 45

1 Answers1

0

I was not able to find the root cause of the issue, but it seems like I was debugging my extension using the wrong steps. I ran the extension scheme directly from Xcode to reproduce the crash, with the executable set to the container application, and Wait for the executable to be launched selected. When I set the Executable in the scheme to None, and used Debug > Attach To Process to run the extension and select the corresponding process, the extension runs, and my breakpoints hit.

Chandler De Angelis
  • 2,646
  • 6
  • 32
  • 45