Q:

can I use the IOC when using a 3rd party library

Q1 If I have a reusable library that is available, that uses interfaces with classes that use the getInstance concept to create concrete classes for you to use, then in this case would that make sense on the client side to use the IOC container to create instances of these classes?   Or is that really applying a double layer of abstraction?
Q2 Or in the cases where I'm building the reusable library myself and want the client to use an IOC container, then in my reusable library would I then dispense with any overhead of having factories or "getInstance" methods to instantiate the classes in the client?  (i.e. as the IOC container would do this no?)

A:

Q1. The getInstance you're talking about sounds like service locator, not dependency injection. If that's the case, then yes, I'd wrap it in my IoC container of choice.
Q2. See Dependency Inject (DI) "friendly" library

