Can someone explain to me the fundamental differences between a Cocoa framework and a C static library?
In particular, I’m finding out that in both cases I have to reference the file (.framework or .a) in the “Link Binary with Libraries” part for my target in Xcode.
However, I don’t seem to have to put the .a in “Copy Files”. I only have to put .framework into “Copy Files”. What is the reason for this difference?
A static library is actually compiled as part of your app, whereas a framework is distributed with your app (or system frameworks are already present) and linked dynamically. Also see this question.