В текущем состоянии Swinject это, к сожалению, невозможно.Одним из способов обойти это было бы создание провайдера нестандартного типа:
protocol LibraryProtocol {}
class Library: LibraryProtocol {}
class LibraryProvider {
let library: LibraryProtocol.Type
init(_ library: LibraryProtocol.Type) { self.library = library }
}
container.register(LibraryProvider.self) { _ in LibraryProvider(Library.self) }