如何在iOS8和xFF1F中监控前台运行的应用程序;使用PrivateFrameworks跳板服务
大家好,上帝!我真的需要帮助~ 在iOS8之前,我使用PrivateFrameworks SpringBoardServices监控前台运行的应用程序是否正常。如以下代码所示:如何在iOS8和xFF1F中监控前台运行的应用程序;使用PrivateFrameworks跳板服务,ios8,jailbreak,iphone-privateapi,springboard,Ios8,Jailbreak,Iphone Privateapi,Springboard,大家好,上帝!我真的需要帮助~ 在iOS8之前,我使用PrivateFrameworks SpringBoardServices监控前台运行的应用程序是否正常。如以下代码所示: #define SPRINGBOARDPATH "/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices" .... +(void) monitoringFrontApp { mach_port_t *
#define SPRINGBOARDPATH "/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices"
....
+(void) monitoringFrontApp {
mach_port_t *port;
void *uikit = dlopen(SPRINGBOARDPATH, RTLD_LAZY);
int (*SBSSpringBoardServerPort)() =
dlsym(uikit, "SBSSpringBoardServerPort");
port = (mach_port_t *)SBSSpringBoardServerPort();
//dynamic link sys mothed
void* (*SBFrontmostApplicationDisplayIdentifier)(mach_port_t* port,char * result) =
dlsym(uikit, "SBFrontmostApplicationDisplayIdentifier");
//call mothed
char frontmostAppS[256];
memset(frontmostAppS,sizeof(frontmostAppS),0);
SBFrontmostApplicationDisplayIdentifier(port,frontmostAppS);
NSString * app_id = [NSString stringWithUTF8String:frontmostAppS];
NSLog(@"front display app Identifier----%@", app_id);
//dynamic link sys mothed
CFStringRef (*SBSCopyLocalizedApplicationNameForDisplayIdentifier)(CFStringRef displayIdentifier) =
dlsym(uikit, "SBSCopyLocalizedApplicationNameForDisplayIdentifier");
//call mothed
CFStringRef locName = SBSCopyLocalizedApplicationNameForDisplayIdentifier((__bridge CFStringRef)app_id);
NSString *app_name = [NSString stringWithFormat:@"%@",locName];
if (locName != NULL)CFRelease(locName);
NSLog(@"front display app name----%@", app_name);
}
但是。。。
最近发布的iOS8,一切都在改变。
我无法通过调用“SBFrontmostApplicationDisplayIdentifier”获取前端显示应用程序标识符,并且“SBSCopyLocalizedApplicationNameForDisplayIdentifier”是INVIILD
所以,我在谷歌上搜索了很长一段时间没有结果,请大家回复
以下是我对宝贵信息的看法:
权利:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.private.accounts.allaccounts</key>
<true/>
<key>application-identifier</key>
<string>CircleJoinRequested</string>
<key>keychain-cloud-circle</key>
<true/>
<key>com.apple.springboard.opensensitiveurl</key>
<true/>
<key>com.apple.securebackupd.access</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>keychain-cloud-circle</string>
<string>com.apple.ProtectedCloudStorage</string>
</array>
</dict>
</plist>
com.apple.private.accounts.allaccounts
应用程序标识符
圆圈连接
钥匙链云圈
com.apple.springboard.opensensitiveurl
com.apple.securebackupd.access
密钥链访问组
&我认为它已修复,可能需要有权继续工作iOS8@creker,我们必须在权利中添加什么?请您在这里清楚地说明此问题的解决方法。谢谢。我不知道它的确切名字。对苹果来说,这似乎是显而易见的事情。他们总是这样做——使用授权关闭对私有API的访问。这里写着“这个问题是通过额外的访问控制来解决的”,这表明它确实是一项新的权利。谢谢@creker,没有从这个链接中得到任何东西来弥补:(@gary.zhan,你有没有找到解决这个跳板问题的方法?