gpt4 book ai didi

iphone - Apple 是否允许监控跳板事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:14 26 4
gpt4 key购买 nike

我正在尝试检测用户何时锁定设备(与按下主页按钮相比)。

Found this :

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
NULL, // observer
lockStateChanged, // callback
CFSTR("com.apple.springboard.lockstate"), // event name
NULL, // object
CFNotificationSuspensionBehaviorDeliverImmediately);



static void lockStateChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
NSLog(@"event received!");
// you might try inspecting the `userInfo` dictionary, to see
// if it contains any useful info
if (userInfo != nil) {
CFShow(userInfo);
}
}

我可以想象 com.apple.springboard.lockstate 就像调用私有(private) API 一样?或者这样可以吗?

最佳答案

假设所有 CF... 函数都是公开的,您可能没问题,但肯定是在一个模糊的区域。如果 Apple 更改该字符串,下一版本的 iOS 可能会破坏您的代码。

我在类似情况下对已批准的运输应用程序所做的是避免直接使用该字符串。创建一个字符串数组,然后使用 NSString 方法将它们与句点分隔符组合起来,而不是直接使用 com.apple.springboard.lockstate。

YMMV

关于iphone - Apple 是否允许监控跳板事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16634533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com