为啥“ARFaceTrackingConfiguration.isSupported”语句在 AppDelegate 中,而不是在 ViewController 中?
Posted
技术标签:
【中文标题】为啥“ARFaceTrackingConfiguration.isSupported”语句在 AppDelegate 中,而不是在 ViewController 中?【英文标题】: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
文件是这个条件语句最合适的地方。
我说的对吗?
【问题讨论】:
【参考方案1】:经过调查,我认为 application(_:willFinishLaunchingWithOptions:)
实例方法更适合在 if 语句检查 ARFaceTrackingConfiguration
中实例化故事板(然后呈现 ViewController)。
Apple 对此方法的评价如下:
使用此实例方法来初始化您的应用并准备运行。此方法在您的应用程序启动并加载其主情节提要或 nib 文件之后,但在您的应用程序状态恢复之前调用。在调用此方法时,您的应用处于非活动状态。
【讨论】:
以上是关于为啥“ARFaceTrackingConfiguration.isSupported”语句在 AppDelegate 中,而不是在 ViewController 中?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 DataGridView 上的 DoubleBuffered 属性默认为 false,为啥它受到保护?