【问题标题】:ios emulator partition issueios模拟器分区问题
【发布时间】:2022-01-20 00:44:35
【问题描述】:

我试图在 ios 模拟器中找到该文件。
当我一直扫描目录时,它会找到我的 Mac Book 本地目录。
我不知道为什么模拟器正在读取外部文件夹。关掉还是有什么办法可以访问模拟器里面的文件夹?

代码来自一个用 Objective-C 编写的测试应用程序。代码如下:

   if ((dir = opendir("/Users/macAccount")) != nullptr) {
    while ((diread = readdir(dir)) != nullptr) {
      printf ("target : %s", diread->d_name);
    }
    closedir (dir);
  } 

==> 结果(这是我在 macbook 上的帐户文件。)

.android| DataGrip项目|公共| .ssh|电影| .vimrc|应用| .gradle| .垃圾|蒙.tar.gz| .npm| ...

这正常吗?

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    如果您在 iOS 应用程序中运行代码,您应该从 NSHomeDirectory() 开始,它指向应用程序数据容器的根目录(例如 /Users/qwerty/Library/Developer/CoreSimulator/Devices/B14BE9CD-4977-4960-8833-6591B1DB5530/data/Containers/Data/Application/8F26289C-DA47-4A1A-A9FB-65BEA7623496)。 并使用NSFileManager 遍历它。

    如果你从一个没有沙盒的 macOS 应用程序(例如命令行工具)执行此操作,你可以在 [NSHomeDirectory() appendingPathComponent:@"Library/Developer/CoreSimulator/Devices"] 开始遍历模拟器设备,然后对于每个设备目录,遍历 data/Containers/Data/Application 中的应用程序。

    【讨论】:

    • 谢谢。很有帮助
    • 接受的答案? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2011-11-23
    • 2012-07-26
    • 2021-03-13
    • 2014-06-05
    相关资源
    最近更新 更多