# 迁移到新版 Xcode 后出现错误

> Resolve errors caused by migrating to a new Xcode version.

## 症状##symptoms

从旧版 Xcode 迁移到新版本后出现错误。以下是 UBA/Xcode 日志中表明存在此问题的常见错误消息和警告：

* 编译器因符号未找到而失败：
  * ```text
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ```
* iOS 部署目标版本不受支持：
  * ```text
    warning: The iOS deployment target 'IPHONEOSDEPLOYMENTTARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.1.99
    ```
* 签名需要未选中的开发团队：
  * ```text
    error: Signing for "gRPC-C++-gRPCCertificates-Cpp" requires a development team. Select a development team in the Signing & Capabilities editor. (in target 'gRPC-C++-gRPCCertificates-Cpp' from project 'Pods')
    ```

## 原因##causes

在更改 Xcode 版本时，如果某些组件、包或插件与新版本的 Xcode 不兼容，通常会出现这些错误。

## 解决方案##resolution

首先，确保能够在批处理模式下使用代码仓库的全新克隆版本（无本地缓存库）进行本地构建，并且在构建 Xcode 项目时，除了在 Build Automation 目标中所做的更改之外，无需进行任何其他更改。

在批处理模式下成功进行本地构建后，确保本地使用的 `cocoapods` 版本与 Build Automation 中使用的版本相匹配。如果版本不匹配，请使用以下构建前脚本来安装正确的版本。以下示例适用于 `cocoapods` 1.12.0 版本：

> **Note:**
>
> **注意**：您可以在 Unity Dashboard 的 **Advanced Configuration（高级配置**）选项卡中为构建目标配置构建前脚本：

```text
gem install cocoapods -v 1.12.0
echo "current cocoapods version: "
gem which cocoapods
```

!["UBA - Cocoapods 构建脚本"](/api/media?file=/build-automation/media/images/build-automation/cocoapods-script.png "UBA - Cocoapods 构建脚本")

要检查本地的 `cocoapods` 版本，请在终端中使用以下命令：

```text
pod --version
```

> **Note:**
>
> **注意**：确保在构建前对本地 Xcode 项目所做的任何更改，也同样应用到 Build Automation 中的项目。

您可以将 `cocoapods` 固定到特定版本，以确保所有构建中使用的版本保持一致。您可以使用外部工具（例如 [External Dependency Manager for Unity](https://github.com/googlesamples/unity-jar-resolver)）来执行此操作，也可以直接编辑 `Dependencies.xml` 文件。使用此工具时，如果指定精确版本（例如 `7.0.0`）而不是表达式（例如 `~> 7.0`，表示使用大于 7.0 的任何版本），则可以保证依赖包版本不会改变，避免引入任何新的错误。

如果问题仍未解决，请提交支持工单，以便支持团队可以进一步调查。要从 Unity Dashboard 提交工单，请打开 **DevOps**，然后选择 **Help & Support（帮助与支持）**> **Ticket（工单）**> **File a ticket（提交工单）**。

## 其他资源##additional-resources

* [Cocoapods 文档（外部）](https://cocoapods.org/)
* [Apple Xcode 文档（外部）](https://developer.apple.com/documentation/xcode)
