During debug output (po) of an iOS app Swift/ObjC, bridging headers cannot be found (Version 13.2.1 (13C100)

The bridging header works fine for compilation, and with previous version of xcode there were no problems running and debugging the app.

But after switching to 13.2.1, poing a variable leads first to error: expression failed to parse, unknown error, and then to an error hinting at not being able to find header files.

Example:

(lldb) po recipientType

error: expression failed to parse, unknown error

(lldb) po recipientType

warning: Swift error in scratch context: error: /Users/dirk/projects/pEp/src_iOS/pep4ios/pEpForiOS/pEpForiOS-Bridging-Header.h:14:9: error: 'AccountSettings.h' file not found

#import "AccountSettings.h"
        ^

error: failed to import bridging header '/Users/dirk/projects/pEp/src_iOS/pep4ios/pEpForiOS/pEpForiOS-Bridging-Header.h'
.
Shared Swift state for pEp has developed fatal errors and is being discarded.

REPL definitions and persistent names/types will be lost.

error: expression failed to parse, unknown error

I have experimented with using <> for the import, instead of "", and also setting the framework header path, but no luck so far.

Replies

What type of target is this -- an app, a framework, a static library?

  • It's an app linking to a variety of static libraries and frameworks. The specific import that gets blamed by lldb is from a static library.

Add a Comment

It's an app linking to a variety of static libraries and frameworks. The specific import that gets blamed by lldb is from a static library.

Are you able to convert this static library to a framework, and write all of the header imports inside the new framework as #import <YourFramework/AccountSettings.h>? Note the syntax here, with angle brackets instead of quotation marks for the import statement.