Xcode编译没问题而使用xcodebuild命令却生成失败

article/2025/1/11 21:04:56

可能大家在项目开发中有时会遇到这样的问题:

明明在Xcode工具中编译没问题,但当使用xcodebuild命令时却无法正常打包,这是为什么呢?

一、错误

比如,一个错误如下:

xxx/ViewController.swift:339:15: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
            } catch {
              ^
xxx/AppDelegate.swift:10:1: error: unknown attribute 'main'
@main

^

** BUILD FAILED **


The following build commands failed:
    CompileSwift normal x86_64
    CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

如上所示 :出现的错误让人一头雾水,main居然也会出错?

二、原因

原来是因为当前电脑安装了多个xcode版本,xcodebuid命令会使用默认的xcode版本,不一定是大家开发时使用的那个xcode工具的版本。

比如:我这里使用的Xcode开发工具是 13.0 版本,编译项目没问题

 

但是xcodebuild命令使用的是 11.3.1:

xcode-select -p

 两个版本不一样,导致xcodebuild打包失败(版本不一样,并不一定都会打包失败,跟项目、xocde版本差异都有关系)

三、解决办法

默认版本切换为xcode工具一样的版本:

sudo xcode-select -s /Applications/Xcode.app


http://chatgpt.dhexx.cn/article/eatIZ8tv.shtml

相关文章

探究 Xcode 命令行用法二:xcodebuild 测试实践

本文还是 adat 项目的延伸,瞄准开发周期的测试环节,主要介绍 Xcode 范畴内的测试概念和自动化测试实践,不会讨论如何编写高质量的测试用例。文中涉及到 Xcode 构建的许多概念,大部分已在前两篇文章中有所说明,建议先大…

如何让php执行xcodebuild,Xcodebuild命令使用

Xcode-select命令 xcode-select是Mac系统自带的命令行工具,属于用户系统内/usr/bin。当电脑上安装多个Xcode时,xcode-select用来选择命令行工具为哪一个版本的Xcode服务。 命令行工具安装指令:xcode-select --install 选择指定的Xcode路径&am…

iOS 自动构建命令——xcodebuild

想想当初天天来到公司,每天需要做一件事就是打开Xcode打包ipa,上传到fir。日复一日月复一月年复一年的做着同样的事情,作为有志成为优秀工程师的我来说,这是必须要解决的问题,所以决定自动化解决问题。 简介 xcodebu…

iOS开发-思维导图(初级)

简介:本脑图只整理了一些自认为比较基础的东西(比较主观),可能适用于部分初学者,对于正在进阶的小伙伴参考意义可能不大哦~😁 如果有小伙伴觉得哪些知识也需要加到图中,欢迎评论区留言&#xff…

IOS开发之证书

分别为证书、appID、设备、描述文件 一、证书Certificates 证书类型: Software:开发证书(程序员开发app)、分发证书(真机调试)、发布证书(正式发布) Services:通知证书&…

怎么学习iOS,如何学习iOS开发?

近年来ios app开发在不断发展中,各中小型也如雨后春笋纷纷露头,像广州商侣软件公司这样的app开发企业可以说是处处可见,然而ios app开发到底该如何入手,如何才能如鱼得水般在这个领域里面畅游呢? 一、什么是ios app开发 ios app开发是指针对苹果公司所生产的手机的ios系统…

零基础学习 iOS 开发

作者:匿名用户 链接:https://www.zhihu.com/question/22000647/answer/114700565 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作为一名混迹iOS开发圈近4年的码农,资历不深不浅&a…

IOS小白入门指南

加入ios 项目已经一个多月了,本篇文章主要介绍IOS开发入门的一些基础知识,帮助想学习iOS开发的人更有效率地学习。 目录 需要的计算机基础 开发语言选择 IOS两种开发语言的异同 Objective-C和swift的相同点: 二者的不同点&#xff1a…

java ios开发_使用Java开发iOS应用

自从使用Objective C开发原生的iOS应用以来,就有许多使用别的语言来开发iOS应用的替选方案。比如说,下面就列出了一些: PhoneGap, 使用HTML/JS来开发 RubyMotion,使用Ruby ionic,使用AngularJS开发 我最近发现的一个的是RoboVM,你可以通过它来用Java开 自从使用Objective…

IOS开发进阶学习资料(提升必备)

最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。 先晒出IOS学习路线图,大家照着图谱修炼。 学习社区 objc中国 learn IOS Ray Wenderlich…

iOS开发进阶(二):走近iOS原生开发

文章目录 一、前言二、知识储备三、 Object-C四、启动流程五、拓展阅读 一、前言 在应用 uni-app 进行跨平台APP开发过程中,发现并不支持视频播放小窗功能,且插件市场提供的插件用户体验不好,遂决定自行开发 uni-app 原生插件。 uni-app原生…

iOS开发学习系列(1)———Swift语言入门

缘起 对于成为全栈开发者的目标而言,很好奇自己几年前怎么就没想过iOS开发的事情。iOS好歹也是移动操作系统两巨头之一。反思了下,有可能是因为之前对Object-C太无感导致的。现在趁着Swift,借这个机会重新整理iOS的开发。本系列虽然是iOS开发…

IOS开发学习资料集合(开发必备)

最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。 先晒出IOS学习路线图,大家照着图谱修炼。 学习社区 objc中国 learn IOS Ray Wenderlich…

iOS开发学习路线

那么现在说正题,如何成为负责任的开发者? 关注作者:点击关注二字可以找到大神组织首先要负责,对自己的项目负责。如果是自己新开的项目,要保证随时都能清晰的想到项目当中每个地方是怎么实现的,测试或者用户反馈了问题以后,能立马想到可能的错误原因。 如果是接手的项目…

对项目需求管理的认识和体会

下面是对一位项目经理关于需求管理的访谈: 做了那么多个项目,我深深感到对项目的需求把握管理好了,是项目成功的关键。对需求的管理大概有那么几个活动,首先是需求获取,这是一个确定和理解客户的需要和期望的过程&…

项目范围管理:WBS

创建工作分解结构是把项目可交付成果和项目工作分解成较小的、更易于管理的组件的过程。工作分解结构(WBS)是项目管理的基础,项目的所有规划和控制工作都必须基于工作分解结构。如果没有工作分解结构,就谈不上项目的进度计划、成本…

项目治理-项目需求范围管理:范围蔓延、镀金

范围蔓延、镀金 场景1: “甲方需要做一个App电商系统,项目对接非常满意,快项目结尾的时候,甲方的老板说,听说现在流行小程序,这个电商系统一定要在小程序上面也可以运行,如果不支持&#xff0…

怎样使用GitLab管理项目?

1. issue 介绍 一般 master 分支默认是被锁住的,其目的是保护该分支。普通开发人员可以创建 issue 后建立对应的分 支然后去完成任务。完成issue 后便要合并分支,只需发送 merge request ,等待 owner 审核才能合并到 master 分支上。合并的过程中可能…

软件需求管理过程

软件需求管理过程 软件需求管理过程 软件需求管理的过程 需求确认(确认需求规格) 需求获取–>需求分析–>需求规格编写–>需求验证需求变更(开发过程中的需求管理) 需求获取,需求分析,需求规格编写,需求验证,需求变更…

项目管理——需求收集与管理

项目管理——需求收集与管理 VS 需求收集对于产品经理来说,都已经属于老生常谈了。在产品的立项和设计前需要先做需求调研,在这里我们就来谈谈如何进行需求收集和管理。 一、需求收集目的 需求收集的目的就是了解用户目前所需要的是什么,最迫…