Проверьте, включен ли экран устройства в iOS
Привет, я использую код ниже, чтобы проверить, включен ли экран устройства. Я получил этот код из этого поста.
Код:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), nil, displayStatusChanged, "com.apple.springboard.lockcomplete", nil, CFNotificationSuspensionBehavior.deliverImmediately)
//CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), nil, displayStatusChanged, "com.apple.springboard.lockstate", nil, CFNotificationSuspensionBehavior.deliverImmediately)
return true
}
}//AppDelegate class end here
func displayStatusChanged(center:CFNotificationCenter,observer: UnsafeMutableRawPointer?,name:CFString,object: UnsafeRawPointer?,userInfo:CFDictionary) -> Void {
}
Но я получил эту ошибку:
Невозможно преобразовать значение типа '(CFNotificationCenter, UnsafeMutableRawPointer?, CFString, UnsafeRawPointer?, CFDictionary) -> Void' в ожидаемый тип аргумента 'CFNotificationCallback!' (aka 'ImplicitlyUnwrappedOptional <@convention (c) (Необязательно, Необязательно, Необязательно, Необязательно, Необязательно) -> ()>')
Кто-нибудь знает, что я делаю не так с displayStatusChanged
функционировать? Любая помощь, предложения или ссылки будут оценены.
Спасибо
1 ответ
Решение
Согласно документации:
center
параметр должен быть необязательным (т.е. отсутствует?
),- за
name
у тебя естьCFString
но в документации сказаноCFNotificationName?
- и
CFDictionary
должно быть необязательным (вам не хватает?
),
Должно исправить вашу ошибку, если вы сопоставите свои параметры с ожидаемыми типами.
func displayStatusChanged(center: CFNotificationCenter?, observer: UnsafeMutableRawPointer?, name: CFNotificationName?, object: UnsafeRawPointer?, userInfo: CFDictionary?) -> Void {
}