Can't access class from custom dynamic framework (Swift)
Found the answer. I had to prefix my class declaration with the public
modifier. So this:
class XYZ {}
became:
public class XYZ {}
And, as always, trashing the ~/Library/Developer/Xcode/DerivedData
folder fixed any minor complications.
If your Framework's class also contained Static and Instance Member functions you also need some more public
keywords adding.
// set the Framework class to Publicpublic class FrameworkHello{ // set the initializer to public, otherwise you cannot invoke class public init() { } // set the function to public, as it defaults to internal public static func world() { print("hello from a static method") }}
Now you can access this via your Swift code or with lldb:
(lldb) po FrameworkHello.world()hello from a static method
This ensures the Framework's Symbols are accessible in a Release build.