Xcode Cannot Run on the Selected Destination

本文介绍了一个常见的iOS开发问题——Info.plist文件导致的应用无法编译。通过删除并重新添加Info.plist文件到Xcode项目的CopyBundleResources阶段,可以解决该问题。

一般引起这个问题的,基本上都是Info.plist出了问题。

在工程Target的Build Phases里,展开Copy Bundle Resources,找到Info.plist,删掉,重启Xcode,清理再重新编译,就OK

### 配置 XcodeRun Script 以解决构建错误 WriteAuxiliaryFile 在 Unity 项目导出到 Xcode 后,Run Script 阶段可能会出现与依赖项或脚本路径相关的错误。以下是如何配置 XcodeRun Script 以避免构建错误的详细方法: #### 修改 Run Script 内容 打开 Xcode 项目后,进入目标的 `Build Phases`,找到 `Run Script` 阶段并编辑其内容。确保脚本路径正确,并添加必要的环境变量以避免依赖冲突[^1]。 ```bash # 检查是否跳过嵌入程序集 if [ "${SKIP_UNITY_EMBEDDED_ASSEMBLIES}" == "1" ]; then echo "Skipping embedding assemblies." else # 调用 Unity 自动生成的脚本 ${PROJECT_DIR}/Assets/Plugins/iOS/CustomScript.sh fi ``` #### 添加环境变量 在 Xcode 的 `Build Settings` 中,添加或修改以下环境变量以确保构建过程顺利进行: - `UNITY_IOS_RUNNER_ENABLE_BITCODE=NO`:禁用 Bitcode,以避免与 Unity 的 IL2CPP 后端冲突。 - `SKIP_UNITY_EMBEDDED_ASSEMBLIES=1`:跳过嵌入某些不必要的程序集,减少构建时间。 #### 确保脚本路径正确 Unity 导出的 Xcode 项目中,Run Script 的路径通常为 `${PROJECT_DIR}/ UNITY RUN SCRIPT COMMANDS`。如果路径不正确,可能导致脚本无法找到或执行失败。检查路径并确保其指向 Unity 自动生成的脚本文件[^2]。 #### 处理依赖项冲突 如果 Unity 项目中使用了第三方插件或库,这些依赖项可能会导致构建错误。确保所有插件和库已在 Unity 的 `Plugins` 文件夹中正确配置,并且适用于 iOS 平台。如果插件包含自定义的 `.a` 或 `.framework` 文件,确保它们已添加到 Xcode 项目的 `Link Binary With Libraries` 中[^3]。 #### 使用 Post-Build 脚本解决依赖问题 有时需要在 Xcode 构建完成后运行自定义脚本来处理依赖项。可以在 Unity 中创建一个 Post-Build 脚本,确保所有依赖项正确加载。 ```csharp using UnityEditor; using UnityEditor.Callbacks; using System.Diagnostics; public class PostBuildProcessor { [PostProcessBuild(100)] public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) { if (target == BuildTarget.iOS) { Process process = new Process(); process.StartInfo.FileName = "sh"; process.StartInfo.Arguments = $"{pathToBuiltProject}/postbuild.sh"; process.Start(); } } } ``` #### 清理构建缓存 有时构建缓存可能导致依赖问题。尝试以下操作以清理缓存: - 在 Unity 中选择 `Assets > Clear Cache`。 - 删除 Xcode 项目中的 `DerivedData` 文件夹。 ```bash # 删除 DerivedData rm -rf ~/Library/Developer/Xcode/DerivedData/ ``` ### 总结 通过修改 XcodeRun Script 内容、添加必要的环境变量、确保脚本路径正确、处理依赖项冲突以及使用 Post-Build 脚本,可以有效解决 Unity 项目在 Xcode 中的构建错误问题[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值