# iOS Build Automation 在 XCode 导出期间出现问题

> Resolve iOS build automation problems during Xcode export in Unity Build Automation.

## 症状##symptom

在 Unity Build Automation (UBA) 中构建 iOS 项目时，Xcode 项目中出现构建错误。

## 原因##causes

UBA 中的大多数 Xcode 构建失败都与第三方插件有关，特别是那些存在 Xcode 最低版本要求或需要禁用位码的插件。

如果后处理无法找到 Xcode 项目并且无法添加适当的库，也可能发生构建错误。

## 解决方案##resolution

确保能够使用相同的设置和所需版本的 Xcode 在本地构建项目：除非在 UBA 的导出后脚本中进行相同的修改，否则不要修改 Xcode 项目。

如果后处理无法找到 Xcode 项目，则您需要将该路径传递给 `OnPostProcessBuild`。一些第三方插件或您自己的代码需要一种方法来修改 XCode 项目以添加库或文件，您可以使用[后处理属性](http://docs.unity3d.com/ScriptReference/Callbacks.PostProcessBuildAttribute.html)和[脚本 API](https://docs.unity3d.com/ScriptReference/iOS.Xcode.PBXProject.html) 来执行此操作。

## 其他资源##additional-resources

Unity 讨论论坛上有几篇帖子，可帮助解决与 iOS 项目相关的不同问题：

* [通过后处理脚本将框架](https://discussions.unity.com/t/unity-xcode-api/557603)添加到 XCode 项目中。
* [通过后处理脚本将项目](https://discussions.unity.com/t/how-can-you-add-items-to-the-xcode-project-targets-info-plist-using-the-xcodeapi/583355)添加到 XCode 项目的 info.plist 中。
* 为第三方工具中缺失的库添加[其他链接器标志](https://discussions.unity.com/t/ios-build-errors-from-missing-libraries/576306)。
* 激活 [iCloud 设置](https://discussions.unity.com/t/icloud-with-cloud-build/569193)。
* 添加[安全框架](https://discussions.unity.com/t/solved-ios-build-failed-pushwoosh-dependency/564698)。
* XCode [框架](https://discussions.unity.com/t/xcode-frameworks/559663)。

您还可以参阅以下页面：

* [如何在批处理模式下进行本地构建](./overview.md#run-locally-in-batch-mode)。
* 关于如何[在 Unity 项目禁用位码](https://support.unity.com/hc/en-us/articles/207942813-How-can-I-disable-Bitcode-support#:~:text=An%20easy%20way%20to%20disable,PBXProject%20helper%20class.)的支持文章。
