SwiftSignalRClient 1.1.0

SwiftSignalRClient 1.1.0

moozzyk 维护。



SwiftSignalRClient

为 ASP.Net Core 版本的 SignalR 提供的 Swift SignalR 客户端

在提交问题之前,请检查 常见问题解答

NEW - Swift SignalR Client 课程

关于使用 Swift SignalR 客户端的所有必要信息,在不到 60 分钟内即可掌握

安装

Cocoapods

将以下行添加到您的 Podfile

use_frameworks!
pod 'SwiftSignalRClient'

然后运行

pod install

Swift Package Manager

最简单的方法是使用 XCode UI(文件 -> 添加 Packages...

或者,将以下内容添加到您的 Package 依赖项中

.package(url: "https://github.com/moozzyk/SignalR-Client-Swift", .upToNextMinor(from: "0.9.0")),

然后将 "SignalRClient" 包含到您的目标依赖项中。例如

.target(name: "MySwiftPackage", dependencies: ["SignalRClient"]),

Carthage

将以下行添加到您的 Cartfile

github "moozzyk/SignalR-Client-Swift"

然后运行

carthage update

用法

import SwiftSignalRClient(或如果您使用的是 Swift Package Manager,则为 import SignalRClient)添加到您希望在其中使用客户端的 swift 文件中。

典型的实现方式如下

import Foundation
import SwiftSignalRClient

public class SignalRService {
    private var connection: HubConnection
    
    public init(url: URL) {
        connection = HubConnectionBuilder(url: url).withLogging(minLogLevel: .error).build()
        connection.on(method: "MessageReceived", callback: { (user: String, message: String) in
            do {
                self.handleMessage(message, from: user)
            } catch {
                print(error)
            }
        })
        
        connection.start()
    }
    
    private func handleMessage(_ message: String, from user: String) {
        // Do something with the message.
    }
}

更多详细用户指南

示例

Examples 文件夹中有几个示例项目。它们包括

  • SignalRClient.xcodeproj

    一个包含为macOS (OSX) 和 iOS 编译的库以及应用程序目标 'ConnectionSample'、'HubSample' 和 'HubSamplePhone' 的 Xcode 工作区。

  • TestServer

    一个可以在此运行的单元测试和示例的 .Net 解决方案。

    TestServer 需要 .NET Core SDK 3.0.100 或更高版本。

    运行时,导航到 TestServer 文件夹,并在终端中执行以下操作:

    % npm install
    % dotnet run

    在 macOS Monterey(12.0 或更高版本)上运行 TestServer 项目时,您可能会遇到以下错误:"无法绑定到地址 http://0.0.0.0:5000:地址已被使用。" 这是因为 Apple 现在在该端口广告一个 'AirPlay Receiver'。可以通过禁用接收器来释放此端口:转到 系统偏好设置 > 共享 并取消选中 AirPlay Receiver

免责声明

我在这份仓库中向您提供的代码是根据开源许可证提供的。因为这是我的个人仓库,您对我的代码的许可是由我而不是我雇主(Facebook)授予的。

点击数

HitCount