我发现只有一个问题与FaceTimeReact在这里-Can you access the FaceTime video gesture reactions in code?.一般来说-你可以找到很多关于如何在手机中手动禁用FaceTimeReact的文章(必须是> iPhone 12和IOS >= 17).但令人惊讶的是,它似乎不工作!我试图用给定的方法来禁用这些React(你可以在这里阅读-https://www.macrumors.com/how-to/disable-gesture-based-facetime-reactions/,或在这里-https://www.paubox.com/blog/how-to-turn-off-the-ios-17-and-macos-sonoma-facetime-reactions).禁用后,React不工作在Facetime,但是如果你使用下面的代码检查应用程序内部:
if #available(iOS 17.0, *) {
if AVCaptureDevice.reactionEffectsEnabled {
if AVCaptureDevice.reactionEffectGesturesEnabled {
return true
}
}
} else {
return false
}
字符串
你会注意到,即使React被禁用,此代码也会返回true,如果您使用AVCaptureSession()启动录制会话,您将看到FaceTimeReact。这很奇怪,我无法理解我能做什么,特别是因为我的客户希望禁用此功能,因为应用程序上下文远离此类表达式。
任何建议将不胜感激。
我想一定有一种方法可以在我的应用程序的视频流中禁用FaceTimeReact,但是-老实说-我无法找到解决方案。
1条答案
按热度按时间jogvjijk1#
自iOS 17.1.2起
视频手势效果设置为 * 每个应用程序 *。如果您在FaceTime应用程序中禁用它,它也不会在 * 您的应用程序 * 中禁用。
您必须在应用程序中启动视频会话,然后在控制中心中禁用手势效果;在您启动视频会话之前,“视频效果”按钮不会出现在控制中心中。
即使它是一个“每个应用程序”的设置,没有开关,以启用或禁用它在设置应用程序在您的应用程序的设置,所以你不能给予您的用户一个链接到您的设置屏幕,告诉他们禁用它;你必须告诉他们使用控制中心。
(我想每个开发者都同意--苹果在第三方应用程序的API和这个“功能”的实现上真的丢了球。希望他们在未来的操作系统版本中改进它。)