问题描述
我们的 iOS 应用目前使用 Google protobuffer gRPC 作为我们的 API 层来在应用和后端之间进行通信。因此,我们的后端目录中有这些 .proto
文件,这些文件将被 gRPC-Swift-Plugins 转换为 .grpc.swift
和 .pb.swift
文件,然后由应用程序使用。
这个没问题,但是转换的过程很繁琐,我们想自动化整个过程。
以下是我们的做法:
- 删除之前复制的目录,并通过shell脚本将所有
.proto
文件从后端(.proto
文件由后端开发人员维护)复制到名为“Protos”的App目录中 - 我们已经设置了构建规则并在编译源中包含
.proto
文件。按照an answer here on SO 中的步骤操作
问题如下:
- 如果后端在源目录中添加了新的
.proto
文件,我的脚本只会将文件复制到 Protos 目录中,但不会将新闻文件包含在编译源列表中。 - 与第一个问题类似,我们需要在 Xcode 中手动设置编译源,这意味着如果有新开发人员加入我们的团队,他/她也需要再次进行相同的设置。
- 我们有时需要在编码时参考
.grpc.swift
和.ph.swift
文件。但是如果我们将这些文件添加到 Xcode 中并再次构建项目,Xcode 会抱怨这些生成的文件在那里(对不起,我们正在处理一个私有仓库,所以项目名称和文件名被替换了):
多个命令产生'${user_path}/${proto_name}.pb.o':
- 目标“${my_project_name}”(项目“${my_project_name}”)具有 Swift 源文件的编译命令
- 目标“${my_project_name}”(项目“${my_project_name}”)具有 Swift 源文件的编译命令
非常感谢任何答案或意见和建议!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)