Avatar
Avatar
toman
初歩的な質問失礼します。 ARKitFaceExample(https://developer.apple.com/documentation/arkit/arkit_in_ios/content_anchors/tracking_and_visualizing_faces) というフェイストラッキングのサンプルコードを手元で実行したところ、実行中にエラーが起きてしまいました。Bundle.main.url()でnilが返ってきてしまっているようです。インターネットやChatGPTで一通り調べて、解決策を試してみたのですが、解決しませんでした。解決の糸口を思いついた方がいらっしゃったら教えていただきたいです。

エラー文

ARKitFaceExample/Utilities.swift:39: Fatal error: Unexpectedly found nil while unwrapping an Optional value

エラー箇所

let url = Bundle.main.url(forResource: resourceName, withExtension: "scn", subdirectory: "Models.scnassets")!

実行時のパラメータ

resourceName = “coordinateOrigin”

該当ファイルの場所

ARKitFaceExample/Resources/Models.scnassets/coordinateOrigin.scn

実行環境

  • PC:MacBook Air M1 2020
  • OS:Ventura 13.0
  • Xcode:Version14.3
  • 実機:iPhone13(iOS16.7.2) ## 試したこと
  • resourceName, subdirectory名が正しいことを確認した
  • subdirectoryの部分に相対パスを入力して試してみた
    • 状況は変わらず
  • Finderに該当ファイルがあることを確認した
  • Copy Bundle ResourcesにModels.scnassetsがあることを確認した
  • Models.scnassetsのインスペクター内のTarget Membershipが正しいことを確認した
  • Clean Build Folderを行った
  • iPhoneを再起動した
  • Macを再起動した
.scnassets ディレクトリの中身の scn ファイルを直接開くという手順に違和感があります。
👀 1
9:57 AM
scnassets という拡張子がついているなら、ビルド時にSceneKitでコンパイルされた何かになって、SceneKitでそれ用のインターフェースを介して中身にアクセスする作法ではないのかなと思いました。 それについて詳しく知らないのでわからないですが。