将Vuforia Unity项目部署到iOS 11.3.1:未知的解决方法
我喜欢Unity,并且绝对喜欢通过Vuforia集成构建AR体验。 但是最近,在尝试部署到新近更新的iPhone进行测试时,我遇到了一个问题。 当我打开我的应用程序时,出现了Unity启动屏幕,并且控制台清楚地表明一切都按预期运行,但是屏幕全黑!
现在,有如此多的应用程序和平台协同工作,以将Unity项目构建和部署到您选择的平台上-留下了很多潜在的兼容性元凶。 主要版本冲突可能是您的OS,Unity,X-Code与要部署到的平台的OS之间的任何组合。 我将讨论我的特定问题以及解决该问题所采取的步骤。
问题
如前所述,由于某些原因,Vuforia ARCamera组件未拿起设备上的摄像头,导致整个屏幕变黑。 我在线检查了已知的兼容性问题,发现X-Code 9.3和iOS 11.3引起了该问题。 但是,这还不是我的祸患。 由于黑屏错误 ,我无法使用9.3进行部署,并且无法回滚到X-Code 9.2,因为它根本不会为11.3编译! 随之而来的是面对技术Catch 22时经常出现的恐惧和厌恶感。我喜欢称其为tisswtfw或:
这太蠢了,该死!! 为什么?!
但是我们是开发人员,我们继续前进。 因此,当我茫然地凝视着屏幕时,让愤怒和困惑迷惑了我几分钟,然后我回到寻找问题的答案的位置。
解决方案
经过艰苦的挖掘工作以找到正确的解决方案之后,当您最终找到它时,您会感觉可以亲吻作者。 但是由于他可能不会喜欢来自陌生人的这种亲切感,因此应将奇尔顿·韦伯(Chilton Webb)视为我的杰出救星。
密钥隐藏在X-Code 9.3目录的深处,然后需要移植到9.2。 假设您已经在计算机上安装了最新版本的X-Code,则需要转到Apple Developer Portal下载部分(由于OSX应用商店通常很糟糕,所以我建议通常使用此代码),然后找到X-安装代码9.2。 确保您为早期版本命名了不同的名称,以便将其移至应用程序目录时不会覆盖9.3。
然后,当您同时获得两个版本时,您将需要右键单击9.3并选择如何打包内容 。 导航:
目录/开发人员/平台/iPhoneOS.platform/DeviceSupport
找到名为11.3 (15E217)
的文件夹并将其复制。 然后,您需要将9.2版本的X-Code打开到同一目录(DeviceSupport),然后粘贴到该文件夹中。 现在,在Unity中,您可以将构建目标版本更改为9.2。 它将成功地构建到iOS 11.3,而不会出现9.3带来的黑屏问题。 辉煌!