It’s been a long, annoying road to getting a usability balance with libraries in Xcode 4. Well, strike that. iOS static libraries have always been a little hellish experience-wise, whether it was your app crashing if that library had categories or the compiler not being able to find headers.
In Xcode 4, we got another obnoxious facet to this issue: auto completion, or, in Apple Magicâ„¢ terms, Code Sense. Long story short, Code Sense does not like external headers. It really doesn’t. Sometimes it just won’t index those external headers, making the experience for using, say, BlocksKit incredibly annoying. In working on PSFoundation, I ran into a much bigger issue where Xcode decides it just won’t highlight your code at all.
As most can guess, when things are a crapshoot like this, actually being able to compile and use your code was the primary issue over getting autocomplete to work. After weeks of investigation and toying around, I feel like I’ve worked things out.