有没有一个路径,每个应用程序都可以在越狱iPhone中写入文件



我应该挂接每个应用程序的UIResponder,包括SpringBoard和任何其他应用程序。在挂钩过程中,我将向指定的文件写入一些内容。如果我将路径设置为Cydia推荐的/var/mobile/Library/MyApp,我发现只有SpringBoard和MyApp才能成功写入。

那么,有没有一个地方每个应用程序都可以写和读?

我承认我不能100%确定这一点,但我的猜测是不,并不是每个应用程序都可以在越狱的iPhone上写入文件的路径

当然,越狱手机上的越狱应用程序(安装在/Applications/中)可以写入这些越狱应用程序之间可以共享的位置。但是,正如我理解你的问题一样,你希望将代码注入普通的应用商店应用程序,这样这些应用程序也可以读写到共享位置。我认为这部分是不可能的,因为越狱并没有完全禁用/var/mobile/Applications/下正常安装的第三方应用程序的沙盒。

现在,可能是一个解决方法。有些共享文件夹可供所有应用程序出于某些目的访问。例如,任何应用程序都可以将图像写入保存的相册。您可以尝试将要写入的文件的内容作为伪图像数据编码在UIImage中(例如使用[UIImage imageWithData:])。您可能需要向数据中添加一个有效的图像标头。然后,使用之类的东西将文件保存到相册中

writeImageToSavedPhotosAlbum:orientation:completionBlock:

然后,另一个应用程序可以通过枚举保存的相册来找到假照片,然后将资产转换回图像表示,以提取真实数据。

然而,这似乎相当复杂,而且可能不起作用(我还没有尝试过)。也许您可以告诉我们为什么您想要这个共享文件。也许有更好的方法来共享数据,而不使用全局可访问的文件?

通知可以帮助您做到这一点。每个应用程序都会发送有关事件的进程间通知。您可以启动一个守护程序来侦听这些通知并将其保存在文件中。或者,你可以在SpringBoard中听他写,例如,/var/mobile/Media。这取决于你想对这个文件做什么。在这里查看我的答案如何创建一个全局环境变量,该变量可以被SpringBoard或其他应用程序在越狱的iPhone中访问?

最新更新