UPDATE 2019: HOSTESS CANNOT READ THE SSID AS OF IOS 13
A Swift implementation of NSHost (Host in Swift) that works on iOS, OS X and tvOS.
Hostess.swift is safe to use in a framework because it does not require a bridging header.
Adding Hostess to your Xcode project using Carthage is very straightforward:
github "rjstelling/Hostess.swift"
Run carthage
to download and build the framework.
Installing Hostess using Cocoapods, add the following line to your Podfile:
pod 'Hostess', '~> 1.0'
Then run the pod install
command.
Hostess.swift was created because NSHost is unavailable on iOS and CFHost does not offer the full functionality of it OS X counterpart.
In addition, those developers hoping for a pure-Swift solution were out of luck without using a bridging header.
Hostess.swift does not use a bridging header, so is safe to use in Framework development. It is 100% Swift and tries to maintain as much type safety as the low level networking C API will allow.
let hostess = Hostess()
let deviceIP = hostess.addresses.first
print("IP: \(deviceIP)") // Will print a dot-separated IP address, e.g: 17.24.2.55
Host.swift is still available but is considered end of life and I will not be maintaining it.
With the switch to Swift 3 Apple removed the NS prefix from many Foundation classes. This caused Host to clash with the renamed NSHost.
A new name was required... Hostess was chosen.