Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rjstelling/Hostess.swift
A Swift implementation of NSHost 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. Hostess is Swift 4.0 (or newer) only and replaces the Swift 2.x only Host.swift.
https://github.com/rjstelling/Hostess.swift
apple-tv clang-modules host-swift hostess hostess-swift ios ip-address ipad iphone macos nshost swift swift3 tvos watchos
Last synced: 3 months ago
JSON representation
A Swift implementation of NSHost 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. Hostess is Swift 4.0 (or newer) only and replaces the Swift 2.x only Host.swift.
- Host: GitHub
- URL: https://github.com/rjstelling/Hostess.swift
- Owner: rjstelling
- License: other
- Created: 2017-01-27T11:10:08.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-06-04T13:15:47.000Z (over 5 years ago)
- Last Synced: 2024-07-27T18:53:33.800Z (4 months ago)
- Topics: apple-tv, clang-modules, host-swift, hostess, hostess-swift, ios, ip-address, ipad, iphone, macos, nshost, swift, swift3, tvos, watchos
- Language: Swift
- Homepage:
- Size: 1.35 MB
- Stars: 30
- Watchers: 3
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Hostess.swift](https://github.com/rjstelling/Hostess.swift/blob/master/Resources/Hero.png)](#)
[![Swift](https://img.shields.io/badge/Swift-4.0-orange.svg?style=flat)](#)
[![Platform](https://img.shields.io/badge/Platform-iOS,%20macOS,%20tvOS%20&%20watchOS-lightgrey.svg?style=flat)](#)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![CocoaPods](https://img.shields.io/cocoapods/v/Hostess.svg)](https://cocoapods.org/pods/Hostess)
[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/rjstelling/Hostess.swift/blob/master/LICENSE)**UPDATE 2019: HOSTESS CANNOT READ THE SSID AS OF IOS 13**
A Swift implementation of [NSHost (Host in Swift)](https://developer.apple.com/reference/foundation/host) 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.
## Usage
### Carthage
Adding Hostess to your Xcode project using Carthage is very straightforward:
github "rjstelling/Hostess.swift"
Run `carthage` to download and build the framework.
### Cocopods
Installing Hostess using Cocoapods, add the following line to your Podfile:
pod 'Hostess', '~> 1.0'
Then run the `pod install` command.
## Motivation
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.## Example
``` swift
let hostess = Hostess()
let deviceIP = hostess.addresses.first
print("IP: \(deviceIP)") // Will print a dot-separated IP address, e.g: 17.24.2.55
```## What happend to Host.swift?
[Host.swift](https://github.com/rjstelling/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.