Indeed, with Xcode 9 they are no longer needed. The API in Darwin is still very inconvenient to use. I have updated my CocoaPod
NetUtils so that it works the new way and still provides the very easy-to-use interface: https://github.com/svdo/swift-netutils.
Yes, this is because starting with Swift 4.0, the system-provided module “Darwin” already contains ifaddrs and others, so you will get duplicates. I have updated NetUtils so that it works with Swift 4 as well, without using the custom
ifaddrs module maps: https://github.com/svdo/swift-netutils.