ARKit从入门到精通(11)-ARKit开发常见问题及解决方案

Posted 孙富有(iOS工程师)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARKit从入门到精通(11)-ARKit开发常见问题及解决方案相关的知识,希望对你有一定的参考价值。

  • 转载请注明出处:ARKit从入门到精通(11)-ARKit开发常见问题及解决方案

  • 本文主要介绍ARKit开发过程中一些常见问题

    • 1.ARKit框架无法导入问题
    • 2.ARKit运行黑屏或者白屏问题:Unable to run the session, configuration is not supported on this device: <ARWorldTrackingSessionConfiguration
    • 3.ARKit添加虚拟物体无法显示问题:ARSession不支持打断点

1.1-ARKit框架无法导入问题

  • *有时候我们可能无法在Xcode9中导入ARKit框架(概率性随机事件,可能是beta版本Xcode的bug),这主要是由于Xcode没有添加对应的库导致

  • 1.ARKit框架并不能被Xcode自动识别,需要我们自己在工程target中添加

    • 最好把SceneKit框架也加上
技术分享
1201.png
  • 2.如果上面的步骤还不能导入ARKit框架,那么一定不要忘记检查你的导入顺序。我们应该先导入SceneKit再导入ARKit,因为ARKit框架内部引用了SceneKit框架中的对象
    • 这很有可能是Xcode自身的bug
技术分享
1202.png

1.2-ARKit运行黑屏或者白屏问题

  • 苹果在ARKit官方文档中,说了一段这样的话:
    • 在文档中,苹果明确指出,目前ARKit不支持A9芯片以下的设备,一般2015年秋季发布会iPhone6s之后都是A9芯片,在这之前的设备都不支持。无论是iPhone还是iPad
技术分享
1203.png
  • 一般情况下,除了ios设备之外,模拟器也不支持运行ARKit,如果你的设备不支持ARKit,那么Xcode就会报错:Unable to run the session, configuration is not supported on this device: <ARWorldTrackingSessionConfiguration
技术分享
1204.png

1.3-ARKit添加虚拟物体无法显示问题

    • 一般添加虚拟物体主要原因有两个

      • 1.物体位置错误
      • 2.Xcode打了断点
    • 第一种情况自行解决,这里主要说说第二种情况,苹果在官方文档中明确指出:不要在运行ARKit中打断点,否会将会导致一些不可预见的错误

      • ARSession会不停的获取相机的位置,一旦打了断点将会导致线程卡死,最终无法计算相机准确位置,就会导致虚拟物体添加不了的问题




以上是关于ARKit从入门到精通(11)-ARKit开发常见问题及解决方案的主要内容,如果未能解决你的问题,请参考以下文章

ARKit从入门到精通-ARScnView介绍

ARFoundation入门到精通 - 1.3 ARkit 支持机型

ARKit从入门到精通-ARCamera介绍

ARKit从入门到精通(10)-ARKit让飞机绕着你飞起来

ARKit从入门到精通-ARSession介绍

-ARKit工作原理及流程介绍