GMS2 2.3.0.x 系列如何适配 Xcode 12

群里有朋友最近发现使用 GMS 2.3.0.x 的版本导出工程文件到 Xcode 进行编译的时候出现大量红色报错并且无法完成编译工作,然后经过搜索发现了官方早在 2 个月前就给出了相关的解决方案,官方承诺在 2.3.1 版本会内建支持变异,而 2.3 之前的版本则不再支持,因此有移动端适配需求的朋友务必对此有所心理准备。


原文:How to enable support for Xcode 12 in GMS2 2.3.0

如果你已经升级了全新的 Xcode12,会发现在当前的 GMS2 中尝试编译 iOS 或 tvOS 的工程时会无法工作,这是因为新的 Xcode 针对包名和其他相关设置做出了一些调整,而在此之前发布的 GMS2 2.3.0 无法预知这些调整和配置,因此无法适配。

核心问题在于 UIKit.framework 没有被添加到项目中去——尽管你可能会看到一些错误或警告,比如"Undefined symbols for architecture arm64:" 和 "MobileCoreServices has been renamed. Use CoreServices instead"等,当然如果你只想快速调试一下,你可以在 Xcode 中手动把这个框架添加到项目中即可解决相关问题,但是因为 GMS2 的运行时没有去请求这个包,你需要每次都在项目中手动进行修复,这就有些麻烦了。

我们经过研究和讨论决定会在下一个 GMS2 的发行版(即 2.3.1)对 Xcode12 进行支持,而在目前的 2.3.0.x 相关版本中您可以手动添加这个框架支持以临时解决这个问题。

使用说明

  1. 关闭 GMS2
  2. 下载这个压缩包文件
  3. 提取压缩包中的文件并覆盖到你现有的文件路径中,Windows 和 Mac 用户的具体路径会有些差异
  4. 重新启动 GMS2 并加载项目,清理项目缓存重新编译,你会发现一切问题都已经解决了。

Windows IDE 用户:
把压缩包放到 2.3.0.401 的运行时文件夹中(C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.3.0.401\ ),然后解压缩把所有文件进行覆盖操作,完成后压缩包可以凭您自身习惯进行删除或保留。

Mac IDE 用户:
先在 Finder 窗口中前往/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2.3.0.401/,然后将压缩包中的 ios/tvos/yyc 等文件夹对应匹配路径的文件进行覆盖操作。

PS.此处的 runtime 版本号及文件路径应根据你目前实际使用的进行选择

最后声明,本方法仅适用于 2.3.0.x 系列版本——并不适用于 2.2.5 及以上的相关版本,我们不打算为旧版本提供这类修复包,请更新到 2.3.0 然后执行以上操作,或将 Xcode 降级至 Xcode11 即可。

2022-04-01 15:21
Comments
Write a Comment