我正在查看文档目录是否存在build setting reference
之类的任何XCode ${PROJECT_NAME}
。我有一些文件保存到文档目录,我想运行一个目标该文件的脚本。文档目录来自:
NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = documentDirectories[0];
我搜索了Apple's docs,但也许我错过了。
例如,如果有一个" MyNotes.txt"在iOS App文档目录中,我想运行一个针对该文件的脚本(将其复制并粘贴到另一个文件夹)。
感谢。
答案 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
下的子目录及其容器集,因此如果您启动其他模拟设备,输出将会更改。