【问题标题】:Copy file from Application document directory and move to iPhone /Application folder- Objective C?从 Application 文档目录复制文件并移动到 iPhone /Application 文件夹 - Objective C?
【发布时间】:2013-06-05 07:23:24
【问题描述】:

我在某个服务器上有一个 ipa/deb 文件,通过服务调用我下载该文件并将其保存到我的应用程序文档目录(在应用程序沙箱内)。这个应用程序不是签名的,我必须在没有任何第三方工具(如 Cyber​​duck/iExplorer 甚至不是终端)的帮助下直接/自动在 iPhone 设备上安装它。那么,只有在授予对应用程序的 root 访问权限或安装应用程序的情况下,我如何才能通过编码部分完成完整的任务。你可以说这个应用程序在安装应用程序时会表现得像 Cydia。

提前致谢。

【问题讨论】:

  • 您是否正在为越狱设备编写代码?因为这在未越狱的 iOS 设备上是不可能的。
  • @rckoenes,感谢您的及时回复。我知道在这种情况下,应用程序将被拒绝,但我自己不是为任何应用程序商店应用程序尝试这个东西,我找到了一些链接stackoverflow.com/questions/6416091/…,它说的是同样的事情,但是当我尝试这个时它失败了。
  • 我不认为这是可能的,因为文件系统被锁定是在非越狱设备上。
  • 好的,那么越狱手机呢?我相信链接stackoverflow.com/questions/6416091/… 说的是同样的事情,并且答案也被接受了,虽然线程较旧但我仍然认为它应该工作,如果您有任何想法,请分享?
  • 您所尊敬的问题是针对 OSX 而不是 iOS。 iOS 上的文件系统已锁定,您无法在应用程序沙箱之外进行写入。您想要的只能在越狱设备上实现。

标签: iphone ios objective-c ipad


【解决方案1】:

我相信您的意思是 /Applications 而不是 /root/Applications,因为没有这样的文件夹(至少在我的 iOS 5 设备上没有)。

由于/Applications 文件夹已由具有755 权限的root 拥有。这意味着,非 root 用户可以读取/执行该文件夹中的文件,但不能写入。如果您想写入该文件夹,您需要以root 运行您的应用程序。对你来说有点讽刺的是,做到这一点的方法是将应用程序安装在/Applications 文件夹中。 (我认为)如果您通过Cydia 安装应用程序,这会自动完成。

总结一下:如果您通过 App Store(或临时分发)安装应用程序,则无法将其移动到 /Applications。您需要通过Cydia 安装它,它将直接安装在该文件夹中。

另外,您在 cmets 中提到的答案是关于 Mac OS,而不是 iOS。

【讨论】:

  • 我已经修改了问题,请问您现在可以回答问题吗?
  • 如果您的主机应用程序(下载您希望安装的未签名应用程序 - “有效负载应用程序”)未以 root 身份运行,则无法按照您的意愿执行此操作。您必须让用户通过 Cydia(而不是 App Store)安装主机应用程序。但如果你的用户愿意通过 Cydia 安装应用程序,他们还不如直接安装“payload 应用程序”。
  • 感谢您的回复,这个问题与越狱设备有关,因此用户可以直接将应用程序安装到设备上,甚至无需使用 Cydia,市场上也存在一些其他应用程序可以做到这一点。那么有什么想法吗?
  • 你说的是哪个应用?
  • Weblin 和 Sibche 执行完全相同的任务。
猜你喜欢
  • 1970-01-01
  • 2011-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多