Здравствуйте, я использую приведенный ниже код, чтобы проверить, включен ли экран устройства. Я получил этот код из этот пост SO .
Код:
@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!" (иначе 'ImplicitlyUnwrappedOptional‹@convention(c) (Необязательный, Необязательный, Необязательный, Необязательный, Необязательный) -> ()>')
Кто-нибудь знает, что я делаю неправильно с функцией displayStatusChanged
? Любая помощь, предложения или ссылки будут оценены.
Спасибо
displayStatusChanged
сидит вне вашего класса? - person shim   schedule 21.06.2018