【问题标题】:Why "ARFaceTrackingConfiguration.isSupported" statement is in AppDelegate, not in ViewController?为什么“ARFaceTrackingConfiguration.isSupported”语句在 AppDelegate 中,而不是在 ViewController 中?
【发布时间】:2019-04-28 21:09:07
【问题描述】:

为什么 ARKit 工程师将 ARFaceTrackingConfiguration.isSupported 语句放在 AppDelegate.swift 文件中而不是在 ViewController.swift 文件中?

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {

        if !ARFaceTrackingConfiguration.isSupported {               
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "unsupportedDeviceMessage")
        }
        return true
    }
}

我认为ViewController.swift 文件是这个条件语句最合适的地方。

我说的对吗?

【问题讨论】:

    标签: swift augmented-reality viewcontroller arkit appdelegate


    【解决方案1】:

    经过调查,我认为 application(_:willFinishLaunchingWithOptions:) 实例方法更适合在 if 语句检查 ARFaceTrackingConfiguration 中实例化故事板(然后呈现 ViewController)。

    Apple 对此方法的评价如下:

    使用此实例方法来初始化您的应用并准备运行。此方法在您的应用程序启动并加载其主情节提要或 nib 文件之后,但在您的应用程序状态恢复之前调用。在调用此方法时,您的应用处于非活动状态。

    【讨论】:

      猜你喜欢
      • 2020-11-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2018-12-18
      • 2012-05-18
      相关资源
      最近更新 更多