HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在App Store中有一个名为“Activity Monitor Touch”的应用程序,它显示后台进程和可用内存。

因此,必须有一个公共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批准的应用程序的信息? (是的,有一个!)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。