CGRPCZlib 1.8.0

CGRPCZlib 1.8.0

George BarnettJake PrickettCory BenfieldDaniel Alm维护。



CGRPCZlib 1.8.0

  • gRPC贡献者

CI Latest Version sswg:graduated|104x20

gRPC Swift

此仓库包含一个gRPC Swift API和代码生成器。

它是为了与Apple的SwiftProtobuf对Protocol Buffers的支持而设计的。这两个项目都包含了用于Google的Protocol Buffer编译器protoc的代码生成插件,并且都包含构建和运行生成的代码所需的代码库。

提供了gRPC客户端和服务器API和生成的代码,可以使用Xcode或Swift Package Manager构建。支持所有四种gRPC API风格(单向、服务器流式、客户端流式和双向流式),并且可以通过安全(TLS)或不安全的通道连接。

版本

gRPC Swift最近基于SwiftNIO重写,而不是基于gRPC项目提供的核心库。

版本 实现 分支 protoc插件 CocoaPod 支持
1.x SwiftNIO main protoc-gen-grpc-swift gRPC-Swift 积极开发和支持
0.x gRPC C库 cgrpc protoc-gen-swiftgrpc SwiftGRPC 不再开发;只修复安全漏洞

本README的其余部分指gRPC Swift的1.x版本。

支持的平台

gRPC Swift的平台支持与Swift NIO相同,详见Swift NIO支持的平台

gRPC Swift 1.8.x及更高版本最早支持的Swift版本是5.4。对于1.7.x及更早的版本,最低支持的Swift版本是5.2。

从gRPC Swift 1.8.0开始,支持Swift的并发功能的客户端和服务版本可以使用,并需要Swift 5.6及更高版本。

获取gRPC Swift

gRPC Swift有两个部分:gRPC库和API代码生成器。

获取gRPC库

Swift包管理器

通过Swift包管理器获取gRPC Swift是最优先的方法。只需将包依赖添加到您的Package.swift

dependencies: [
  .package(url: "https://github.com/grpc/grpc-swift.git", from: "1.0.0")
]

...并依赖于必要的目标中的"GRPC"

.target(
  name: ...,
  dependencies: [.product(name: "GRPC", package: "grpc-swift")]
]
Xcode

从Xcode 11开始,可以向Xcode项目添加Swift包依赖项并将目标链接到这些包的产品;这是将gRPC Swift集成到现有xcodeproj中最简单的方法。

手动集成

或者,可以将gRPC Swift手动集成到项目中

  1. 构建Xcode项目:swift package generate-xcodeproj,
  2. 将生成的项目添加到您的项目中,并
  3. 添加对GRPC的构建依赖。

CocoaPods

gRPC Swift 目前可以通过 CocoaPods 获取。从 CocoaPods 获取。要集成,请在您的 Podfile 中添加以下行

    pod 'gRPC-Swift', '~> 1.0.0'

然后,从命令行运行 pod install 并使用您的项目生成的 .xcworkspace 文件。您可能还需要在 Podfile 中添加 use_frameworks!

⚠️如果您由于依赖 'gRPC-Core' 而有冲突的模块,请参阅 grpc/grpc-swift#945

获取 protoc 插件

protoc、协议缓冲区编译器,的二进制版本可从 GitHub 获取。

要构建插件,请在与主目录在同一目录下运行 make plugins。这使用 Swift 包管理器构建必要的两个插件:生成支持 Protocol Buffer 代码的 protoc-gen-swift 以及生成 gRPC 接口代码的 protoc-gen-grpc-swift

要安装这些插件,只需将主目录中出现的两个可执行文件(protoc-gen-swiftprotoc-gen-grpc-swift)复制到您的 PATH 环境变量的一部分目录中。或者,您可以在使用 protoc 时指定插件的全路径。

或者,您可以通过在 Podfile 中添加以下行来获取插件的最新预编译版本

    pod 'gRPC-Swift-Plugins'

随后,插件将位于 Pods/gRPC-Swift-Plugins/ 文件夹中。

Homebrew

插件可从 homebrew 获取,并可以使用以下命令安装

    $ brew install swift-protobuf grpc-swift

示例

gRPC Swift 提供了一系列教程和示例。它们分布在两个目录中

  • /Sources/Examples 包含无需额外依赖的示例,可以使用 Swift 包管理器构建。
  • /Examples 存放依赖于外部依赖或者可能不能由 Swift 包管理器构建的示例(例如 iOS 应用)。

其中一些示例附有教程,包括

  • 创建和运行您的第一个 gRPC 服务的快速入门指南 快速入门指南
  • 涵盖使用所有四种调用类型创建和实施 gRPC 服务的入门教程,包括如何设置和运行服务器以及在生成的客户端中使用代码调用它 基本教程
  • 拦截器教程,涵盖如何在 gRPC Swift 中创建和使用拦截器 拦截器

文档

目录 docs 包含文档,包括

安全

请参阅 SECURITY.md

许可证

gRPC Swift 按照与 gRPC 相同的许可证发布,并重复在 LICENSE 中。

贡献

请参与进来!我们的贡献指南