在iOS上阅读sms.db和call_history.db文件?

我正在为越狱的iPhone 5s(iOS 7.1.1)开发一个应用程序来获取存储在相应.db文件中的调用日志和消息。我有一些查询:

  1. 我有一个有效的证书,配置文件和我的应用程序使用此配置文件签名,因此是否有必要删除此配置文件并使用ldid对应用程序进行签名(如果是,为什么以及步骤是什么?)

  2. 我的应用程序是否需要具有root权限才能访问数据库(/var/wireless/Library/CallHistory/call_history.db)和(/var/mobile/Library/SMS/sms.db),如果有,则如何授予root权限我的应用。 我尝试过这个解决方案: 在NSFilemanager jailbreak上获得IOS的root权限,但是我使用这种方法安装的应用程序只是在点击时显示一个空白屏幕然后消失(我已经使用有效的开发人员证书和配置文件签署了我的应用程序)

  3. 任何与获取call_logs和sms相关的代码都会有所帮助,我尝试了一些建议的代码,但没有一个工作,可能是由于上述问题。

访问这些问题不是root权限,而是沙箱规则。 只要您离开沙箱,就可以阅读它们。 不知道为什么你的root应用程序无法读取它但它应该。 除了沙箱之外没有其他限制。 写入这些数据库需要root权限,但每个人都可以读取它们。 我甚至记得从越狱手机上的常规AppStore应用程序中读取它们。 越狱破坏了一些沙盒规则,因此你可以在文件系统的任何地方阅读。 例如,这就是一些越狱探测器的工作原理。

在模拟器和真实设备上访问用户的SMS消息是不可能的(除非它已越狱)。 与Android不同,Apple的隐私限制不允许开发人员有权访问用户的个人数据,如短信,电话等。您可以看到各种示例。 例如,在iPhone和Android上尝试Whatsapp注册过程。 在两者上,您将收到带有代码的短信,但在Android上,代码将被魔术输入并通过应用程序validation,在iPhone上您将看到收到的短信并被要求手动输入代码。