相关疑难解决方法(0)

如何在App Store批准的应用程序中获取有关可用内存和运行进程的信息?(是的,有一个!)

App Store中有一个名为"Activity Monitor Touch"的应用程序,它显示后台进程和可用内存.

因此必须有一个公共API来访问这些信息.证据:

证据

证据

我已经找了几天但找不到任何好的起点.这个应用程序如何在没有任何越狱/黑客攻击/等等的情况下解决所有这些问题?

直到最近,我确信这样的东西在iOS上是绝对不可能的.

找到了这段代码:

- (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, NULL, 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, miblen, process, &size, NULL, 0);

    } …
Run Code Online (Sandbox Code Playgroud)

memory iphone process ipad ios

44
推荐指数
2
解决办法
2万
查看次数

使用sysctl检测当前在iOS上运行的应用程序

我目前已经实现了一个简单的活动监视器来监视iOS上的所有运行进程.

要检索所有正在运行的进程的列表,我这样做:

size_t size;
struct kinfo_proc *procs = NULL;
int status;
NSMutableArray *killedProcesses = [[NSMutableArray alloc] init];

int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 };

status  = sysctl(mib, 4, NULL, &size, NULL, 0);
procs   = malloc(size);
status  = sysctl(mib, 4, procs, &size, NULL, 0);

// now, we have a nice list of processes
Run Code Online (Sandbox Code Playgroud)

如果我想了解有关特定流程的更多信息,我会这样做:

struct kinfo_proc *proc;
int mib[5] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pidNum, 0 };
int count;
size_t size = 0;

// ask the proc size
if(sysctl(mib, …
Run Code Online (Sandbox Code Playgroud)

sysctl ios

13
推荐指数
1
解决办法
5745
查看次数

如何通过应用程序ID确定哪些应用程序是后台以及哪个应用程序是iOS的前景

使用此问题中描述的方法,我可以获得在iOS设备上运行的应用列表.我知道PID并且可以访问他们的kinfo_proc结构.如何确定哪些是前台进程以及哪些是后台(假设我的应用程序是后台)?

我试图找出这个基于信息kinfo_proc(参见第1个链接),via kp_proc.p_priority,但看起来不可能从优先级推断背景/前景状态.

我真的不在乎这是否适用于AppStore Review,但我更喜欢一种没有越狱的方法(即私有API可以,但是哪些?).我希望这至少可以在iOS 5上运行

我考虑过编写一个简单的MobileSubstrate扩展,将其注入所有应用程序并且只是挂钩每个人applicationDidBecomeActive,但这需要越狱并且过于侵略.

iphone-privateapi ios

11
推荐指数
2
解决办法
1万
查看次数

Frenzapp使用什么"内核级别C函数"来检测正在运行的iOS进程?

根据这个iphonedevsdk.com论坛帖子,Frenzapp使用两种方法来检测iOS设备上安装的其他应用程序:

  1. UIApplication canOpenUrl:检查是否可以打开已知的自定义URL模式
  2. "内核级别C函数",即"由Apple授权".

他们使用什么"内核级别C函数"?它在哪里记录?

iphone ios

9
推荐指数
1
解决办法
2739
查看次数

IOS流程内部 - 如何获取信息?

我正在寻找一个API来监控普通iPhone上运行的任务(没有越狱).这些是关于:

  • 寻找CPU使用率(我的主要关注点).
  • 寻找内存使用情况.
  • 寻找磁盘使用情况(读/写多少)
  • 寻找网络使用情况(网络发送和接收的字节数:3G,Wifi,GSM).
  • 是否可以依赖在Mac上运行的IOS模拟器(或者我应该直接在设备上测试我的应用程序)?

我想我可以查看系统C库(sigint等)但我不确定是否能够检索此信息,除了当前正在运行的应用程序.我知道一些监视器应用程序在全局使用上运行,但我希望能够按流程查找信息流程.

如果有人可以提供某些链接或有用的东西,那么我将开始进行更深入的调查.

c objective-c ios4

6
推荐指数
1
解决办法
3604
查看次数

如何在iOS应用程序中获取后台运行应用程序的详细信息?

我想开发一个应用程序,它应该监视我的I-Phone设备(包括互联网浏览器)上运行了多少时间.

请分享您对此帖的想法.

有点像这样:https: //itunes.apple.com/us/app/system-manager/id455736462?mt = 8

谢谢

iphone xcode objective-c

5
推荐指数
1
解决办法
3735
查看次数

如何让活动进程在 iOS 中运行

如何以编程方式让活动进程在后台运行,iOS 的 CPU 和 RAM 使用情况?

iphone system objective-c ios

4
推荐指数
1
解决办法
2万
查看次数

是否可以通过编程方式阻止特定的 iOS 应用程序在未越狱的 ipad / iphone 上运行?

是否有可能编写一个 iOS 应用程序来阻止其他应用程序在未越狱的 iphone/ipad 上运行?

这将是出于合法目的,例如我打开应用程序,将我的 iPad 交给我的孩子,我不必担心他们会删除我的照片或浏览网页。

ios

3
推荐指数
1
解决办法
1544
查看次数

标签 统计

ios ×6

iphone ×4

objective-c ×3

c ×1

ios4 ×1

ipad ×1

iphone-privateapi ×1

memory ×1

process ×1

sysctl ×1

system ×1

xcode ×1