2016-03-11 31 views
5

我正在研究一个具有非常详细的记录器模块的库,该库在iOS上以一致的文件树形式将xml日志写入NSDocumentDirectory。我想为这个库的用户提供一种方法来轻松访问这些日志。iOS文件检索 - NSDocumentDirectory

我知道从这个目录以编程方式检索文件很简单,但是否可以通过任何方式从iOS外部的Xcode访问此目录以检索这些日志?我觉得我在之前的某个地方见过它,其中的一些方法是提取.ipa文件并进入软件包内容,但我可能是错的。

---------------------------------------------- - - - - - -编辑 - - - - - - - - - - - - - - - - - - - ----------------------------

这(Browse the files created on a device by the IOS application I'm developing, on workstation?)是如何使用设备上的Xcode做到这一点,但我有假设我们可以通过某种方式为用户获取设备的日志。

+0

'UIFileSharingEnabled'不适合你吗?非技术用户可以使用iTunes或第三方应用程序(如iExplorer)从文档目录中提取日志文件。 – Vin

+0

没有想到这一点。我最初的研究似乎告诉我,这将起作用,所以你可以在我尝试的时候发表一个答案,所以如果有的话,我可以给你信用? – dokun1

回答

1

是有可能以任何方式从Xcode外部访问iOS物理设备上的此目录以检索这些日志?

可以通过启用iTunes文件共享来公开Documents目录。当通过此方法启用文件共享时,iTunes中的用户可以看到Documents目录的内容,该内容也可以导出。这些文档也可以通过iExplorer等第三方桌面应用程序导出。

Here是Apple文档的链接。你也可以参考this线程来理解这是如何完成的。

+1

仅供参考 - 我们使用Cmake从跨平台代码生成我们的库,因此这意味着我们可能不得不使用从零开始在plist中激活的这两个键来制作示例项目。我们会把它编出来,但非常感谢你! – dokun1

1

如果你正在使用模拟器(显然你的任务似乎不需要真正的设备),你很幸运。

你应该去类似这样的文件夹:

/用户/ [YOUR_USER_NAME] /资源库/开发/ CoreSimulator /设备/ [RANDOM_HASH_YOU_SHOULD_DISCOVER] /数据/集装箱/数据/应用/ [RANDOM_HASH_2_YOU_SHOULD_ALSO_DISCOVER]

一旦出现,使用finder,您将获得模拟器的“文档”文件夹以及您尝试从中检索日志的应用程序。

你可能会说:我不知道应该去哪2个RANDOM_HASH。 是的,你是对的。如果您已安装或正在使用MANY模拟器,则要发现哪一个是您正在尝试调试的模拟器可能会很棘手。 与您的应用程序相同,您的应用程序将位于另一个RANDOM_HASH文件夹中,您应该逐一浏览它们,然后发现您的文档文件夹。

有人需要解决这个“混乱”,并创建了一个Xcode Alcatraz扩展,它可以导致您在任何特定时刻都可以精确地在线模拟器和应用程序,然后您不需要猜测哪个2 random_hash路径你需要导航到。

如果Xcode + Alcartaz插件扩展管理器在某种程度上不在您的范围之内,您可能需要对其进行Google搜索。这不是一个困难的过程。 PS:这个神奇的Alcatraz扩展名被命名为“XCodeWay”(如果你足够勇气将Alcatraz安装到你的XCode副本上)。

编辑:有用的链接获取恶魔岛:http://alcatraz.io/按照其简单的指示,你就完成了。

EDIT2:如果Xcode中不能使用,那么在这个其他线程的最后一个问题可能会派上用场:Browse the files created on a device by the IOS application I'm developing, on workstation? (不过,在用户机器外部应用程序将需要)

+0

我会更新这个问题,您的答案对模拟器是正确的,但我需要iOS设备。 – dokun1

+0

好的,然后......在Xcode内部转到窗口 - >设备。一旦出现,请选择您的真实设备,并且我可以记住某种“右按钮单击”选项,让您可以浏览(糟糕的)设备沙箱的内容。但我不记得你是否可以下载这些文件 – Isaac

+0

Xcode是不可能的。我需要一个非开发人员用户才能够访问这些日志。 – dokun1