首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >get-task-allow在Xcode中做什么?

get-task-allow在Xcode中做什么?
EN

Stack Overflow用户
提问于 2009-06-16 18:08:31
回答 4查看 71.3K关注 0票数 99

当我在iPhone应用程序项目中设置权限时,我创建了一个新任务,并将get- Entitlements.plist -allow的值设置为false。但是为什么呢?这个键代表什么?

请注意,这与Application could not be verified error when building app for iPhone device相关-我发现将此键的值反转为true允许我在设备上安装应用程序)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-22 10:34:29

来自this thread on ADC

get-task-allow在登录到应用程序时,允许其他进程(如调试器)附加到您的应用程序。分发配置文件需要关闭此值,而开发配置文件需要打开此值(否则Xcode将永远无法启动和附加到您的应用程序)。

票数 170
EN

Stack Overflow用户

发布于 2009-06-17 17:25:35

在iPhone上调试应用程序的能力。

票数 13
EN

Stack Overflow用户

发布于 2019-10-11 01:40:20

虽然你的answer是正确的,但我只想更具体地说明这一点,这样想知道get_task_allow到底是什么意思的人就可以了。

get_task_allow是一种授权,允许其他应用程序获取您应用程序的任务端口。这意味着,如果任何其他应用程序使用您的应用程序进程ID运行task_for_pid(),它们将获得您的应用程序的任务端口,这样它们就可以做一些事情,例如在内存中写入和读取内容,从而能够对您的应用程序的行为进行修补和修改。

如果你看一下越狱是如何工作的,你会注意到他们做的第一件事就是获取task_for_pid(mach_task_self(),0,&kernel_task);,因为kernel_task是一个值为0mach_port_t,所以他们能够接触到内核的内存。

由于内核授权没有get_task_allow授权,苹果甚至排除了使用tfp0(task_for_pid 0)的可能性,因此他们需要一个补丁。

因此,基本上由于Xcode需要接触你的应用程序的内存并使用它来调试它,所以你需要在调试时启用它,但你需要禁用它来分发你的应用程序,否则任何应用程序都可以获得你的任务端口。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1003066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档