因此,必须有一个公共API来访问此信息。证据:
我已经在搜索天,但找不到任何好的起点。这个应用程序如何能够显示所有这些东西,没有任何越狱/黑客/等?
直到最近,我确信这样的东西在iOS上是绝对不可能的。
我有found这段代码:
- (NSArray *)runningProcesses { int mib[4] = {CTL_KERN,KERN_PROC,KERN_PROC_ALL,0}; size_t miblen = 4; size_t size; int st = sysctl(mib,miblen,NulL,&size,0); struct kinfo_proc * process = NulL; struct kinfo_proc * newprocess = NulL; do { size += size / 10; newprocess = realloc(process,size); if (!newprocess){ if (process){ free(process); } return nil; } process = newprocess; st = sysctl(mib,process,0); } while (st == -1 && errno == ENOMEM); if (st == 0){ if (size % sizeof(struct kinfo_proc) == 0){ int nprocess = size / sizeof(struct kinfo_proc); if (nprocess){ NSMutableArray * array = [[NSMutableArray alloc] init]; for (int i = nprocess - 1; i >= 0; i--){ Nsstring * processID = [[Nsstring alloc] initWithFormat:@"%d",process[i].kp_proc.p_pID]; Nsstring * processname = [[Nsstring alloc] initWithFormat:@"%s",process[i].kp_proc.p_comm]; NSDictionary * dict = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:processID,processname,nil] forKeys:[NSArray arrayWithObjects:@"ProcessID",@"Processname",nil]]; [processID release]; [processname release]; [array addobject:dict]; [dict release]; } free(process); return [array autorelease]; } } } return nil;}
但我不能让它运行在iPhone上。 Xcode不知道这些符号:
CTL_KERN,KERN_PROC,KERN_PROC_ALL
所以当然我必须导入头文件或库。有谁知道这些属于哪里,以及如何导入标题以使这项工作?
解决方法 奇迹般有效:#import <sys/sysctl.h>总结
以上是内存溢出为你收集整理的iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)全部内容,希望文章能够帮你解决iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)