iOS

时间:2017-08-21 15:24:03

标签: ios background-process

我编写了一个Android应用程序,即使在终止后,仍会运行一个侦听手机状态转换的服务。这样,应用程序就能够检测到新的电话并触发某个事件,例如对话伙伴的号码存储在数据库中。

现在我也渴望在iOS上实现这个应用程序,但我无法弄清楚是否有可能以类似的方式收听电话。至于目前为止我所知道的关于iOS的所有知识,无论何时我的应用程序被用户或操作系统终止,都不可能再检测到新的电话。

我有什么方法可以实现这一目标,还是我已经走到了死胡同?

编辑:据说它过于宽泛:

我想随时检测来电和去电。有没有办法在iOS 10上做到这一点?我不想要代码,我只是想知道它是否可能。

1 个答案:

答案 0 :(得分:0)

请进一步调查Apple正在使用的App Sandbox原则。

简而言之:

  

App Sandbox基于一些简单的原则通过限制   App Sandbox提供了基于每个应用程序访问敏感资源的权限   防止盗窃,腐败或删除的最后一道防线   用户数据,或者攻击者劫持系统硬件   成功利用您应用中的安全漏洞。例如,a   沙盒应用必须明确说明其使用任何一个的意图   以下资源使用权利:

     

硬件(相机,麦克风,USB,打印机)网络连接   (入站或出站)应用程序数据(日历,位置,联系人)用户   文件(下载,图片,音乐,电影,用户选择的文件)访问   到项目定义中未明确请求的任何资源是   在运行时被系统拒绝。如果您正在编写草图应用程序,   例如,你知道你的应用永远不需要访问   麦克风,你只是不要求访问,系统知道   拒绝您的(可能已被入侵)应用程序使用它的任何尝试。

     

另一方面,沙盒应用可以访问特定的   您请求的资源,允许用户通过扩展沙箱   以通常的方式执行典型的操作(例如拖放),   并可以自动执行许多其他被认为安全的操作,   包括:

     

从“服务”菜单调用服务阅读大多数世界可读   系统文件打开用户选择的文件App的元素   沙箱是权利,容器目录,由用户决定   权限,权限分离和内核实施。工作   这些可以防止应用程序访问更多系统   完成工作是必要的。