如何读取并列出所有可用的Focus模式(含默认及自定义)
获取所有可用的Focus模式
你可以通过INFocusStatusCenter的focusModes属性获取所有可用的Focus模式(包含系统默认及用户自定义的),示例代码如下:
import Intents // 获取所有Focus模式 let allFocusModes = INFocusStatusCenter.default.focusModes // 遍历并展示模式列表 for mode in allFocusModes { print("模式名称:\(mode.displayName),模式ID:\(mode.identifier)") }
关键属性说明
displayName:模式的显示名称(比如"工作"、"个人"、"睡眠"等)identifier:模式的唯一标识符,可用于后续切换Focus模式等操作
如果需要将这些模式展示为UI列表,直接将allFocusModes作为数据源,在UITableView或SwiftUI List中渲染即可。
注意:使用该API需要确保你的App已获得相关权限,并且在iOS 15及以上系统可用(Focus模式从iOS 15开始引入)
内容的提问来源于stack exchange,提问作者iStuces
相关产品推荐
相关产品推荐

