我正在开发一个Unity项目,其中我使用了Google VR SDK for Unity和Firebase SDK for Unity中的FirebaseMessaging.unitypackage。但是当我尝试为iOS构建时,这两个Google SDK的组合会导致“重复符号”错误。
最小化、完整化和可验证的示例以重现错误:
要求:
步骤:
- 下载 Google VR SDK for Unity (v1.20)。
- 下载 Firebase SDK for Unity (v3.0.0)。
- 解压 Firebase SDK for Unity。
- 打开 Unity 并创建一个新项目。
- 转到 文件 > 构建设置...,选择 iOS 并单击“切换平台”。
- 打开 播放器设置... 并设置一个 包标识符。
- 转到 资产 > 导入包 > 自定义包...,选择
GoogleVRForUnity.unitypackage
并导入除 Demos 文件夹以外的所有内容。 - 将出现弹出窗口。选择 我已备份,继续!。
- 将出现另一个弹出窗口。选择 导入包 并全部导入。
- 转到 资产 > 导入包 > 自定义包...,选择已解压的
FirebaseMessaging.unitypackage
并全部导入。 - 文件 > 保存项目
- 将 iOS 设备连接到计算机。
- 文件 > 构建并运行
- Xcode 构建会失败,因为项目需要使用团队签名。在您的 Xcode 项目中将其设置为有效的。
- 按 Xcode 的播放按钮,在连接的 iOS 设备上构建并运行项目。
在Xcode上构建的项目将以以下错误结束:
架构arm64有25个重复符号
架构取决于连接的iOS设备,但错误是相同的。
- 有什么我们可以做的吗?
- 这是必须由谷歌解决的错误吗?
-objC
标志的情况下成功构建,但是启动后会崩溃。 - Gerard Reches-ObjC
标志,SDK和库将不会被加载。因此,构建不会抛出错误,因为库不会被加载。这不是一个解决方案。 - Gerard Reches