是否有文档目录的Xcode构建设置参考?

时间:2015-10-23 20:59:53

标签: ios xcode bash shell

我正在查看文档目录是否存在build setting reference之类的任何XCode ${PROJECT_NAME}。我有一些文件保存到文档目录,我想运行一个目标该文件的脚本。文档目录来自:

NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDirectory = documentDirectories[0];

我搜索了Apple's docs,但也许我错过了。

例如,如果有一个" MyNotes.txt"在iOS App文档目录中,我想运行一个针对该文件的脚本(将其复制并粘贴到另一个文件夹)。

感谢。

1 个答案:

答案 0 :(得分:0)

不,文档目录没有Xcode构建设置。您可以在构建阶段添加一个空的运行脚本,并选中“在构建日志中显示环境变量”以进行验证。

您可以使用com.dqd.test命令找出文档目录,然后检查一堆plist。它有点迂回。例如,此脚本在当前启动的模拟设备中查找具有包标识符#!/bin/bash bundle=com.dqd.test appdir=$(xcrun simctl get_app_container booted "$bundle") appdataparentdir="${appdir%%/data/Containers/Bundle/*}"/data/Containers/Data/Application for dir in "$appdataparentdir"/*; do if plutil -extract MCMMetadataIdentifier xml1 -o - "$dir/.com.apple.mobile_container_manager.metadata.plist" | grep ">$bundle<" >/dev/null; then break fi dir= done if [ "$dir" != "" ]; then echo "$dir/Documents" fi 的应用程序的目录:

:; ./getdocdir
/Users/mayoff/Library/Developer/CoreSimulator/Devices/3699C4CE-D6F3-4E6E-B1AC-0B35D78BFD80/data/Containers/Data/Application/32068FBC-6191-4F5E-B18F-D47D8778D3BE/Documents

结果:

CoreSimulator/Devices

请注意,每个模拟设备都有自己的UUID,它位于editItem下的子目录及其容器集,因此如果您启动其他模拟设备,输出将会更改。