Unity iOS XCode构建失败:Apple Mach-O链接器错误

时间:2017-07-15 18:07:56

标签: ios xcode firebase unity3d admob

http://imgur.com/6gbxepS

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

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

我已完成的步骤:

  1. 在Unity服务标签中启用IAP和分析,导入的IAP包
  2. 导入的Firebase Analytics包
  3. 导入的Admob统一包
  4. 在门户网站中创建了新的Firebase项目。已下载GoogleService-Info.plist文件
  5. 将.plist文件放在Assets文件夹中。
  6. 确保我在Unity中的播放器设置已正确配置(Bundle Identifier,Version,IL2CPP set,Architecture:Universal,Device SDK set)。
  7. 制作Xcode项目文件夹(在构建设置中设置发布模式)。构建成功,没有错误。
  8. 打开终端窗口并在Xcode项目文件夹根目录
  9. 中运行“pod init”
  10. Ran“pod'Firebase / Core'”,“pod install”。 Succeeded
  11. 从Xcode
  12. 打开.xcworkspace文件
  13. 目标和项目文件的构建设置中将“启用模块(C和Objective-C)”更改为“是”。
  14. 下载了GoogleMobileAds.framework(来自GoogleMobileAdsSDK zip)
  15. 将GoogleMobileAds.framework添加到“Build Phases”
  16. 中的框架列表中
  17. 添加了AdSupport.framework
  18. 目标和项目文件中的“其他链接器标志”中添加了“-ObjC”。
  19. 清理项目
  20. 构建项目,由于链接器错误导致构建失败
  21. 我也尝试在一般设置和PodFile中将部署目标提升到8.0而不是6.0,但它没有删除错误。

    任何帮助将不胜感激。我想我只是在Xcode配置中错过了一个步骤,但我似乎无法弄明白。

1 个答案:

答案 0 :(得分:0)

修正了它!这是我的一个简单错误。我下载了一个非官方的Google Admob Unity软件包。这创造了一个" AdmobAPI"我的资产/插件中的文件夹,其中包含导致链接器错误的文件。

我没有立刻注意到它,因为当我重新导入官方包时,这个文件夹永远不会被覆盖。当我比较我的项目和Google安装官方软件包的示例项目之间的目录时,它终于引起了我的注意。

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