IOS9如何获取进程列表啊,stsctl方法在IOS9.0后失效了,还有什么其他方法吗?

解决方案 »

  1.   

    主要是看其他应用是否安装吧?我也在找这个东西,找了两天的私有方法,在FrontBoard.framework相当的FBProcessManager之类的,到了国外站上也是看很多问怎么用这个私有方法获取设备正在运行的进程,全都是问的,没有人回答的。我试了研究也没有成功,一直报错Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FBApplicationLibrary cannot be initialized before calling FBSystemAppMain()'后来折衷用了下面这个私有方法:判断设备中所有应用的bundle id。也可以判断设备是否安装了某应用。
        Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
        NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
        NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
        NSLog(@"apps number: %d", [[workspace performSelector:@selector(allApplications)] count]);希望对你有用啊
      

  2.   


    你好,你的方法确实可以在IOS9下获得安装的应用列表,不过无法判断某程序是否运行过哦~~
    请问有没有判断某程序是否运行中的方法呢
      

  3.   

    你好, 请问你解决了吗? "在ios9 获取正在运行的程序或者后台运行的程序"
      

  4.   

    Quote: 引用 2 楼 Bruceliu2012 的回复:

    主要是看其他应用是否安装吧?我也在找这个东西,找了两天的私有方法,在FrontBoard.framework相当的FBProcessManager之类的,到了国外站上也是看很多问怎么用这个私有方法获取设备正在运行的进程,全都是问的,没有人回答的。我试了研究也没有成功,一直报错Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FBApplicationLibrary cannot be initialized before calling FBSystemAppMain()'后来折衷用了下面这个私有方法:判断设备中所有应用的bundle id。也可以判断设备是否安装了某应用。
        Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
        NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
        NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
        NSLog(@"apps number: %d", [[workspace performSelector:@selector(allApplications)] count]);希望对你有用啊[/quote貌似只能运行在ios7以上 ios6会崩溃
      

  5.   

    楼主 ios9后有方法获取当前运行的进程吗
      

  6.   

    可以获取到,不过需要调用私有API
    可以参考一下这个http://bbs.iosre.com/t/ios9-sysctl/1966/7