拉我的头发去CFNotificationCenterAddObserver斯威夫特工作.
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
UnsafePointer<Void>(self),
iosLocked,
"com.apple.springboard.lockcomputer" as CFString,
nil,
CFNotificationSuspensionBehavior.DeliverImmediately)
Run Code Online (Sandbox Code Playgroud)
在iOS的文档有它上市,我已经尝试了回调,并没有成功的不安全指针无数的迭代.
上面的函数调用导致出现此错误消息,这似乎是正确的init:
Cannot invoke 'init' with an argument list of type '(CFNotificationCenter!, $T4, () -> (), CFString, NilLiteralConvertible, CFNotificationSuspensionBehavior)'
Run Code Online (Sandbox Code Playgroud)
我也尝试将objc桥接到这里,但是没有成功.
这是我的桥梁:
LockNotifierCallback.h:
#import <Foundation/Foundation.h>
@interface LockNotifierCallback : NSObject
+ (void(*)(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo))notifierProc;
@end
Run Code Online (Sandbox Code Playgroud)
和LockNotifierCallback.m:
#import "LockNotifierCallback.h"
static void lockcompleteChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
NSLog(@"success");
}
@implementation LockNotifierCallback
+ (void(*)(CFNotificationCenterRef center, …Run Code Online (Sandbox Code Playgroud)