Here is Apple's documentation on the subject.
Essentially, you can either create an
NSOpenGLContext (and in doing so, specify the original context you want to share using initWithFormat:shareContext: or use CGGLCreateContext's
share parameter. I don't believe it is possible to share resources after initialization.
This will allow you to create a second context that shares all resources with the first context (the one you passed to one of the above functions). You have to make sure both contexts utilize the same GL profile.
There isn't a way to construct an
NSOpenGLView (which you are probably using) with a shared context. Instead you'll probably have to swap the existing context out, or use that context as the main one from which you create the shared context.