Xcode Archive打包时不报错,但是buildFailed原因以及解决方案

本文介绍了在使用Xcode进行IPA打包过程中遇到的问题及解决方法,包括设置skip-install为NO及解决编译错误的具体步骤。

本周尝试着打包ipa文件居然不成功,一直编译失败。但是就是不知道哪里的原因,问了别人一下之后流程都是对的,但是就是不行。

后来查了好多资料,作出修改:

1.project和targets里得skip-install 已经设置为NO

工程->build setting,搜索deployment,找到skip install项,将其改成NO,target->build setting,搜索deployment,找到skip install项,将其改成NO,网上找到一些资料说target下要改成YES,但是我真实操作下却是改成NO才生成ipa的,说实话,我并不理解它的原理,各位看官可以YES和NO都试一下。

2.如果提示buileFailed 就说明本项目的某些代码编译时报错的,(可能是在debug模式下模拟器运行没有任何问题 ,但是并不代表真机打包的时候没有任何问题,我碰到的bug就出在这里)
附图说明 :
所有的编译记录都会出现在这边,当出现红色警告时,点击上去查看,

根据提示解决问题




另外附上:

1.Xcode打包ipa的基本步骤

2.xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)
http://blog.youkuaiyun.com/mad1989/article/details/8167529

<think>我们正在解决用户删除 Firebase 后构建 Xcode 项目出现的 "Command PhaseScriptExecution failed with a nonzero exit code" 错误。根据之前的错误分析和引用内容,我们可以采取以下步骤: 可能的原因解决方案: 1. 缓存问题:删除 Firebase 后,可能残留了一些缓存文件,导致构建脚本执行失败。可以尝试清理缓存并重新构建。 2. Pod 依赖问题:删除 Firebase 后,Podfile 的依赖关系可能发生了变化,需要重新安装 Pods。 3. 脚本执行环境问题:如之前提到的 User Script Sandboxing 或 Node.js 路径问题。 具体步骤: 步骤1:清理项目 - 在 Xcode 中,选择 Product -> Clean Build Folder (或按住 Option 键,此 Clean 会变成 Clean Build Folder) - 或者通过命令行清理 DerivedData: ```bash rm -rf ~/Library/Developer/Xcode/DerivedData ``` 步骤2:重新安装 Pod 依赖 - 进入项目的 ios 目录(或包含 Podfile 的目录) ```bash cd ios ``` - 执行 pod deintegrate 以移除现有的 Pods 集成 ```bash pod deintegrate ``` - 删除 Podfile.lock 和 Pods 目录(如果存在) ```bash rm -rf Podfile.lock Pods ``` - 重新安装 Pods(如果是 M1 芯片,可能需要使用 arch -x86_64) ```bash pod install ``` 或者 ```bash arch -x86_64 pod install ``` 步骤3:检查 Node 模块和项目文件 - 回到项目根目录,确保 node_modules 是最新的(如果删除了 Firebase,可能涉及 JavaScript 代码的更改,需要重新安装 npm 包) ```bash cd .. rm -rf node_modules yarn install # 或 npm install ``` 步骤4:检查 Firebase 是否完全删除 - 确保在 Podfile 中已经删除了所有 Firebase 相关的行(如 pod 'Firebase/Analytics' 等)[^1]。 - 检查项目代码中是否还有残留的 Firebase 导入或使用。 步骤5:重启 Xcode 和电脑 - 有候简单的重启可以解决缓存问题(如引用[3]所述)[^3]。 步骤6:检查构建脚本(Phase Scripts) - 在 Xcode 中,打开项目,选择 target,进入 Build Phases 选项卡。 - 检查是否有与 Firebase 相关的脚本(例如:Upload Symbols 脚本用于 Crashlytics)。如果有,删除它们。 - 检查其他脚本(如 Bundle React Native code and images)是否正常。可以尝试临注释掉脚本内容,逐步排查。 步骤7:查看详细的错误日志 - 前往 ~/Library/Developer/Xcode/DerivedData,找到项目对应的文件夹(名称可能为项目名加一串字符)。 - 进入 Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator(或对应的配置目录)。 - 查找与脚本失败相关的日志文件(如 codegen-*.log 或其他脚本日志),这些日志可能会提供更具体的错误信息[^2]。 如果以上步骤仍然能解决问题,可以考虑以下额外措施: - 更新 CocoaPods:`sudo gem install cocoapods` - 重置 CocoaPods 仓库:`pod repo update` - 尝试使用 Xcode 的命令行工具构建:`xcodebuild -workspace YourProject.xcworkspace -scheme YourScheme -destination 'platform=iOS Simulator,name=iPhone 13' build` 注意:在删除 Firebase 后,确保所有对 Firebase 的引用(包括代码、配置文件、plist 文件等)都已移除,否则可能导致编译错误。 最后,重新构建项目。 如果问题仍然存在,请提供具体的错误日志以便进一步分析。 相关问题: 1. 如何彻底移除 Firebase 依赖? 2. Xcode 构建失败后如何查看详细错误日志? 3. CocoaPods 常见问题及解决方法有哪些?</think>### Xcode 删除 Firebase 后报错解决方案 当删除 Firebase 后出现 `Command PhaseScriptExecution failed with a nonzero exit code` 错误,通常是由于残留配置或脚本依赖导致的。请按以下步骤解决: #### 1️⃣ 清理 Firebase 残留配置 ```bash # 进入 iOS 项目目录 cd ios # 完全移除 Pod 集成 pod deintegrate # 删除 Pod 相关文件 rm -rf Podfile.lock Pods/ # 清理 Xcode 缓存 rm -rf ~/Library/Developer/Xcode/DerivedData ``` #### 2️⃣ 修正 Podfile 配置 在 `Podfile` 中确保 **完全删除** 所有 Firebase 相关行: ```diff - pod 'Firebase/Analytics' - pod 'Firebase/RemoteConfig' - pod 'Firebase/Crashlytics','10.2.0' - pod 'Firebase/Messaging' ``` 保存后重新安装依赖: ```bash # M1 芯片使用: arch -x86_64 pod install --repo-update # Intel 芯片使用: pod install --repo-update ``` #### 3️⃣ 检查构建脚本残留 在 Xcode 中: 1. 打开项目 → **Build Phases** 选项卡 2. 检查是否有 Firebase 相关的脚本(如 `Upload Symbols` 脚本) 3. 完全删除这些脚本阶段 #### 4️⃣ 清理项目环境 ```bash # 删除 node_modules rm -rf node_modules # 重新安装 JS 依赖 yarn install # 或 npm install # 清理 iOS 构建 cd ios && xcodebuild clean ``` #### 5️⃣ 重启系统与 Xcode 1. 完全退出 Xcode 2. 重启电脑(许多缓存问题可通过重启解决)[^3] 3. 重新打开项目尝试构建 #### 6️⃣ 检查代码残留 确保在项目中全局搜索并删除: - `#import <Firebase.h>` - `[FIRApp configure]` - `GoogleService-Info.plist` 文件 #### 若仍失败需检查日志 1. 打开路径:`~/Library/Developer/Xcode/DerivedData` 2. 找到项目文件夹 → `Build/Intermediates.noindex/Pods.build` 3. 查看 `codegen-*.log` 文件获取具体错误原因[^2] ### 关键预防措施 - 使用版本控制(如 Git)在修改 Podfile 前提交代码 - 删除依赖同步移除相关配置文件和代码引用 - 定期执行 `pod deintegrate` 彻底清理环境 完成上述步骤后,90% 的 Firebase 移除相关构建错误可解决。若问题持续,请提供 `codegen` 日志内容进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值