When downloading SourceKitten and running make install, the resulting framework that is output into /usr/local/Frameworks is not sufficient for development as it is missing many important parts of the framework's contents.
There are two very import sections missing from the framework that gets published in /usr/local/Frameworks:
The Versions/Current/Headers contents
The Versions/Current/Modules contents
Without both of these, attempting to link against this copy of the framework to use for development proves to be fruitless and results in the compiler error:
<path/to/file:line:column> error: no such module 'SourceKittenFramework'
No amount of changing @rpath values or framework search path locations is going to help (unless you happen to change the search path to the location of a valid SourceKittenFramework.framework, which ends up causing a lot of confusing, as I ran into).
I'm working a PR that can address this issue as I don't think you intended to have two different versions of the framework.
The text was updated successfully, but these errors were encountered:
So it looks like intended behavior that Xcode is stripping the information out of the framework during the "embedding" process.
I guess it's really up to you to decide if you think the version that is published should also be the same version as what is used when publishing your releases. However, this issue is a bit circular. I've figured out my exact repro steps of not getting everything working last night.
After I couldn't figure out what was going on, I tried to use the published release version: SourceKittenFramework.framework.zip. However, this will end up getting you the same issues that I ran into above:
Since the developer versions (e.g. the ones with the headers and module information) are not published, the only way to use SourceKittenFramework is to download the source, build, and extract out all of the necessary frameworks.
/sigh... Xcode is really not helping us out here.
Anyhow, PR #233 is out to partially address this issue.