As far as I understand it, "Groups" in Xcode are simply a way to organize your project's files.
However, I have found that classes in groups can't access the classes that aren't in the same group or children of that group. This makes no sense to me.
Example:
Group A
-ClassA
Group B
-ClassB
I want to declare: class ClassA: ClassB but I get the error "Cannot find type 'ClassB' in scope"
However, if I move ClassB into Group A, it works. Is this a bug?
I have figured this out. What's not obvious is that this project has a Watch Extension target. I am sharing many of the classes between the main iPhone target and the watch target, which requires checking the box for the watch target when the class is under the phone project structure. I had forgotten to check the box for the watch to have access to the new class BleMessenger.swift.
It would be extremely helpful if the error message was more specific, but I guess it's just something to remember.