我之前就此问题与Xcode进行过斗争,我想在其中添加要复制到内置app-package的文件和目录列表,而XCode只想让我添加整个文件夹。现在我需要一个合适的解决方案......
我有一个包含多个目标的工作区,每个应用程序一个。我有一个目录结构,其中包含大量资产/数据文件,结构如下:
- Data
|- Common
| |-Scripts
| |-Images
|- AppA
| |-Scripts
| |-Images
|- AppB
| |-Scripts
| |-Images
我想将Data / Common / *添加到我的目标AppA& AppB,然后是Data / AppA / *到AppA等。
我发现如果我将数据库的文件夹引用添加到我的XCode项目中,我就无法选择工作区 - 我只能设置与数据相关联的目标。
我可以单独为每个子文件夹添加文件夹引用,但我认为这会破坏我想要实现的目录结构。此外,它似乎变得混乱...说我不想在两个应用程序中所有的Common,而是为每个应用程序挑选某些子目录/文件?
那么,是在XCode [4]中有一个更随意的方式告诉它哪些文件去哪里?我知道我可以编写一个自定义的bash-script构建阶段,事实上我曾经这样做,但它对于构建性能来说真的很糟糕。
答案 0 :(得分:0)
选项1)创建一个bash安装程序并对主项目中的路径进行硬编码:
## Compression Script
mkdir -vp installer/payload
cd installer/
tar tvf files.tar
echo "Running Installer"
mkdir $HOME/files
tar ./files.tar -C $HOME/files
## Decompression Script
#!/bin/bash
echo ""
echo "Self Extracting Installer"
echo ""
export TMPDIR=`mktemp -d /tmp/selfextract.XXXXXX`
ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`
tail -n+$ARCHIVE $0 | tar xzv -C $TMPDIR
CDIR=`pwd`
cd $TMPDIR
./installer
cd $CDIR
rm -rf $TMPDIR
exit 0
__ARCHIVE_BELOW__
选项2)使用pkgbuild,productbuild和pkgutil,如下所示:
Making OS X Installer Packages like a Pro - Xcode Developer ID ready pkg