iOS 15 上查询焦点模式的 API 是什么?

Joe*_*Tam 10 ios ios15

iOS 15 引入了焦点模式。苹果提到,通信应用程序可以查询设备当前是否处于焦点状态,以便我们可以告诉对方他们可能不会收到消息通知。但是我在苹果文档中找不到该API。有人知道吗?

Car*_*ndo 10

请参阅https://developer.apple.com/forums/thread/682143

焦点状态中心

import Intents

/// Retrieve the current authorization status: INFocusStatusAuthorizationStatus
INFocusStatusCenter.default.authorizationStatus

/// Request authorization to check Focus Status
//
INFocusStatusCenter.default.requestAuthorization { status in
    /// Provides a INFocusStatusAuthorizationStatus
}

/// Check if Focus is enabled. INFocusStatusAuthorizationStatus must be .authorized
INFocusStatusCenter.default.focusStatus.isFocused
Run Code Online (Sandbox Code Playgroud)

您需要添加NSFocusStatusUsageDescription到 Info.plist

https://onesignal.com/blog/ios-notification-changes-updates-from-apples-wwdc-21/

  • 考虑到 API 选项相当有限,这似乎是最好的答案。值得强调的是,您还需要向目标添加“通信通知”功能,以便读取焦点状态(除了在应用程序本身中请求授权之外)。 (3认同)