SwiftChatSE

Build Status

一个用于 Stack Exchange 聊天的 Swift 库

SwiftChatSE 是从 FireAlarm-Swift 的聊天代码中提取出来的库。它可以在 macOS 和 Linux 上运行。

示例

以下是构建一个简单程序的说明,该程序会在 SOBotics 中发布“Hello, world!”。

安装 libwebsockets

brewapt-get 提供的 libwebsockets 版本不同,而且都已过时,因此您需要从源代码安装它。请确保您已安装 OpenSSL 和 CMake,然后运行以下命令从 此处 下载并安装 libwebsockets

git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets
mkdir build
cd build
export OPENSSL_ROOT_DIR=$(brew --prefix openssl)
cmake ..
make
sudo  make install

编写和构建程序

创建一个 Swift Package Manager 项目

mkdir ChatTest
cd ChatTest
swift package init --type executable

修改 Package.swift

import PackageDescription

let package = Package(
    name: "ChatTest",
    dependencies: [
        .Package(url: "git://github.com/SOBotics/SwiftChatSE", majorVersion: 4)
    ]
)

现在编写代码,在 Sources/main.swift

import SwiftChatSE

let email = "<email>"
let password = "<password>"

//Create a Client and log in to Stack Overflow.
let client = Client(host: .StackOverflow)
try! client.login(email: email, password: password)

//Join a chat room.
let room = ChatRoom(client: client, roomID: 111347)	//SOBotics
try! room.join()

//Post a message.
room.postMessage("Hello, world!")


room.leave()

您需要运行以下命令来构建

swift build -Xswiftc -lwebsockets -Xswiftc -I/usr/local/opt/openssl/include -Xswiftc -I/usr/local/include -Xlinker -lwebsockets -Xlinker -L/usr/local/lib

运行 swift build 命令后,可执行文件将放置在目录 .build 中。 如果你想使用 Xcode 进行开发,只需复制 swiftchatse.xcconfig 到你的项目目录并运行

swift package generate-xcodeproj --xcconfig-overrides swiftchatse.xcconfig

以生成一个 Xcode 项目。 如果您添加文件或更改包设置,则必须重新创建该项目。