macOS下通过xcodebuild命令自动打包编译gPRC工程

近期项目中引用gRPC,导致通过命令行编译生成的文件和路径出错。之前未引用gPRC之前用的是:

xcodebuild -configuration Release

但是因为gRPC要使用cocoapods,所以会生成一个xcworkspace,这个时候之前的命令就不会生效

这个是时候需要重新改动打包脚本,另外需要知道scheme名称,通过如下命令可以查到当前包含的所有scheme名称

xcodebuild -workspace YourProject.xcworkspace -showBuildSettings -list

正常来说可以获得如下结果:

Information about workspace "YourProject":
    Schemes:
        !ProtoCompiler
        !ProtoCompiler-gRPCPlugin
        abseil
        BoringSSL-GRPC
        gRPC
        gRPC-Core
        gRPC-gRPCCertificates
        gRPC-ProtoRPC
        gRPC-RxLibrary
        Pods-SGInputAssistant
        Protobuf
        YourProject
        YourProject

这个时候,我们会发现有两个scheme 的名称完全一样,所以,这个时候,如果我们输入scheme的名字,他会执行第一个scheme,不会生成我们实际的scheme名称,在此处,目前想到的办法,在Xcode里面找到Manage Schemes,然后将自己工程的名字改成一起其他的,左键单击修改即可,如下图你可以改成自己工程的

这个时候,同样可以使用 上面的showbuilding -list查看修改后的结果,这个时候再执行命令:

xcodebuild clean -workspace YourProject.xcworkspace -scheme YourProject1 -configuration Release

这个时候我们发现是可以编译成功的,但是最后文件放在目录是在/Library/Developer/Xcode/DerivedData/SGInputAssistant-fxxhtctprwvchjchhrfopwbnejaf/Build/,其实我们实际需要并不是在这儿,我们需要在当前工程的目录下生成一个build文件下,类似单个工程的xcodebuild。通过查找系统api,发现需要添加一个derivedDataPath属性,完整命令如下:

xcodebuild -workspace YourProject.xcworkspace -scheme YourProject1 -configuration Release -derivedDataPath build

最后就可以成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值