在 C++ 中获取 iPhone 目录路径
Get iPhone directory path in C++
我正在使用来自 Objective-C 层的 C++ 库。我希望能够直接在 C++ 库中访问此路径,或者至少是它的容器标识字符串。
(注意:在生产中我们可以从 Objective-C 层传递标识符,但这是为了尝试直接在 CI 中获取路径)
比如我在Objective-C中得到NSDocumentDirectory
路径,路径很简单:
/var/mobile/Containers/Data/Application/93C788E8-3F76-4DD2-BC5F-7980BE9970C7/Documents
我可以从此路径中删除 GUID (93C788E8-3F76-4DD2-BC5F-7980BE9970C7
) 并传递它,但我需要能够完全用 C++ 生成它。我们的 CI 是 运行 我们的单元测试套件直接在设备上而不是在模拟器上。我知道这基本上是一个 unix 命令,但我整个早上都在四处窥探,结果一无所获。有什么想看的地方吗?
您可以使用 getenv("HOME");
获取应用程序目录的路径。
考虑到您的示例,这应该 return /var/mobile/Containers/Data/Application/93C788E8-3F76-4DD2-BC5F-7980BE9970C7/
。
然后您可以从此路径中提取 GUID。
这个想法来自
我正在使用来自 Objective-C 层的 C++ 库。我希望能够直接在 C++ 库中访问此路径,或者至少是它的容器标识字符串。
(注意:在生产中我们可以从 Objective-C 层传递标识符,但这是为了尝试直接在 CI 中获取路径)
比如我在Objective-C中得到NSDocumentDirectory
路径,路径很简单:
/var/mobile/Containers/Data/Application/93C788E8-3F76-4DD2-BC5F-7980BE9970C7/Documents
我可以从此路径中删除 GUID (93C788E8-3F76-4DD2-BC5F-7980BE9970C7
) 并传递它,但我需要能够完全用 C++ 生成它。我们的 CI 是 运行 我们的单元测试套件直接在设备上而不是在模拟器上。我知道这基本上是一个 unix 命令,但我整个早上都在四处窥探,结果一无所获。有什么想看的地方吗?
您可以使用 getenv("HOME");
获取应用程序目录的路径。
考虑到您的示例,这应该 return /var/mobile/Containers/Data/Application/93C788E8-3F76-4DD2-BC5F-7980BE9970C7/
。
然后您可以从此路径中提取 GUID。
这个想法来自