【问题标题】:Unity iOS XCode Build Failed: Apple Mach-O Linker ErrorUnity iOS XCode 构建失败:Apple Mach-O 链接器错误
【发布时间】:2017-12-20 15:16:17
【问题描述】:

我一直在尝试使用 Admob、Unity IAP 和 Firebase Analytics 将我的 Unity 游戏构建到 iOS。

  • Unity 版本:5.6.2f1 个人版
  • Xcode 版本:8.3.3

我已完成的步骤:

  1. 在 Unity 服务选项卡,导入的 IAP 包中启用 IAP 和分析
  2. 导入的 Firebase 分析包
  3. 进口 Admob 统一包
  4. 在 Web 门户中创建了新的 Firebase 项目。下载的 GoogleService-Info.plist 文件
  5. 将 .plist 文件放入 Assets 文件夹中。
  6. 确保我在 Unity 中的播放器设置已正确配置(捆绑标识符、版本、IL2CPP 集、架构:通用、设备 SDK 集)。
  7. Made Xcode 项目文件夹(在构建设置中设置了发布模式)。构建成功,没有错误。
  8. 打开终端窗口并在 Xcode 项目文件夹根目录中运行“pod init”
  9. 运行“pod 'Firebase/Core'”、“pod install”。 Succeeded
  10. 从 Xcode 打开 .xcworkspace 文件
  11. 目标和项目文件的构建设置中将“启用模块(C 和 Objective-C)”更改为“是”。
  12. 下载了 GoogleMobileAds.framework(来自 GoogleMobileAdsSDK zip)
  13. 将 GoogleMobileAds.framework 添加到“构建阶段”中的框架列表中
  14. 添加了 AdSupport.framework
  15. 目标和项目文件中的“其他链接器标志”中添加了“-ObjC”。
  16. 清理项目
  17. 构建项目,由于链接器错误,构建失败

我还尝试在常规设置和 PodFile 中将部署目标提高到 8.0 而不是 6.0,但它并没有消除错误。

任何帮助将不胜感激。我想我只是错过了 Xcode 配置中的某个步骤,但我似乎无法弄清楚。

【问题讨论】:

标签: ios xcode firebase unity3d admob


【解决方案1】:

修好了!这是我的一个简单错误。我下载了一个非官方的 Google Admob Unity 包。这在我的 Assets/Plugins 中创建了一个“AdmobAPI”文件夹,其中包含导致链接器错误的文件。

我没有立即注意到它,因为当我重新导入 官方 包时,该文件夹从未被覆盖。当我比较我的项目和我安装了官方包的谷歌示例项目之间的目录时,它终于引起了我的注意。

简而言之,如果遇到构建错误,请仔细检查您要导入的内容并彻底扫描您的目录。在这个时间点上,Xcode 几乎不需要修改(我不需要任何额外的步骤); Unity 几乎可以完成所有工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多