Ciao
一个用于发布和发现通过mDNS服务的库
需求
- iOS 8.0+ / Mac OS X 10.10+ / tvOS 9.0+
- Xcode 9.0+
安装
CocoaPods
CocoaPods是一个用于Cocoa项目的依赖管理器。您可以使用以下命令来安装它:
$ gem install cocoapods
要使用CocoaPods将Ciao集成到Xcode项目中,请在您的`Podfile`中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Ciao', '~> 2.1.1'
然后,运行以下命令:
$ pod install
Carthage
Carthage 是一种去中心化管理依赖项的工具,它自动化了向您的 Cocoa 应用程序添加框架的过程。
您可以使用以下命令通过 Homebrew 安装 Carthage:
$ brew update
$ brew install carthage
要使用 Carthage 将 Ciao 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "AlTavares/Ciao" ~> 2.1.1
Swift Package Manager
要将 Ciao 作为 Swift Package Manager 包使用,只需在您的 Package.swift 文件中添加以下内容。
dependencies: [
.package(url: "https://github.com/AlTavares/Ciao.git", from: "2.1.1")
]
使用方法
服务器
let ciaoServer = CiaoServer(type: ServiceType.tcp("ciaoserver"))
ciaoServer.start { (success) in
print("Server started:", success)
}
ciaoServer.txtRecord = ["someKey": "someValue"]
浏览器
let ciaoBrowser = CiaoBrowser()
// get notified when a service is found
browser.serviceFoundHandler = { service in
print("Service found")
print(service)
}
// register to automatically resolve a service
browser.serviceResolvedHandler = { service in
print("Service resolved")
print(service)
print(service.hostName)
print(service.txtRecordDictionary)
}
browser.serviceRemovedHandler = { service in
print("Service removed")
print(service)
}
ciaoBrowser.browse(type: type)
解析器
可选地,您还可以将解析器用于任何 NetService 实例。
var resolver = CiaoResolver(service: service)
resolver?.resolve(withTimeout: 0) { (result: Result<NetService, ErrorDictionary>) in
print(result)
}
贡献
- 分叉它!
- 创建你的功能分支:
git checkout -b my-new-feature
- 提交你的更改:
git commit -am '添加一些特性'
- 推送到分支:
git push origin my-new-feature
- 提交拉取请求 :D
许可证
Ciao 采用 MIT 许可证发布。请参阅 LICENSE 获取详细信息。