Полагаю, я немного опоздал, но только что получил ответ, проверяя его самостоятельно.У вас это почти правильно, вам нужно только удалить групповой ключ для папок.XCode создаст группы самостоятельно.Например, код только для Служб будет выглядеть следующим образом:
<key>Definitions</key>
<dict>
<key>Services</key>
<dict>
<key>Path</key>
<string>Services</string>
</dict>
</dict>
<key>Nodes</key>
<array>
<string>Services</string>
</array>
Вот и все, я надеюсь, что это поможет вам или кому-либо еще.
На всякий случай, если кто-то захочет попробовать другой вариантсоздайте пример проекта и затем переименуйте все имена файлов и содержимое, найдите прикрепленный ниже bash-скрипт, который я использовал:
#!/bin/bash -e
# Read the settings from the project
read -p "Project's name: " project_name
read -p "Class prefix: " class_prefix
# Set variables
date="$(date +%d-%m-%Y)"
year="$(date +%Y)"
username="PLACE_YOUR_NAME_HERE"
organization="PLACE_YOUR_ORGANIZATION_NAME_HERE"
# Copy the base project template to a new folder with the projects name
cp -r ___PACKAGENAME___/ $project_name
# Rename files and folders to match the project name
cd $project_name
# Match the project name
for file in $(find . -depth -name '*___PACKAGENAME___*')
do
dir="$(dirname "$file")"
old="$(basename "$file")"
new="$(echo "$old" | sed s/___PACKAGENAME___/"$project_name"/)"
if [ "$new" != "$old" ]; then
mv "$dir"/"$old" "$dir"/"$new"
fi
done
# Add the class prefix
for file in $(find . -depth -name '*___VARIABLE_classPrefix___*')
do
dir="$(dirname "$file")"
old="$(basename "$file")"
new="$(echo "$old" | sed s/___VARIABLE_classPrefix___/"$class_prefix"/)"
if [ "$new" != "$old" ]; then
mv "$dir"/"$old" "$dir"/"$new"
fi
done
# Modify the content of the files
for file in $(find . -depth -type f ! -name .DS_Store ! -path "*Externals/*" ! -name "*.png" ! -name "*.xcuserstate" )
do
filename="$(basename "$file")"
if [ "$filename" != '*.DS_Store*' ]; then
echo $filename
sed -e "s/___PROJECTNAME___/${project_name}/g" $file > temp
sed -e "s/___FULLUSERNAME___/${username}/g" temp > $file
sed -e "s/___DATE___/${date}/g" $file > temp
sed -e "s/___ORGANIZATIONNAME___/${organization}/g" temp > $file
sed -e "s/___YEAR___/${year}/g" $file > temp
sed -e "s/___PACKAGENAME___/${project_name}/g" temp > $file
sed -e "s/___VARIABLE_classPrefix___/${class_prefix}/g" $file > temp
mv temp $file
fi
done
В этом случае я сначала создал образец проекта и назвал его ___PACKAGENAME___
после этого я просто изменил некоторые другие поля внутри файлов, такие как дата, чтобы иметь возможность изменить их с помощью скрипта.
Этот код был создан в апреле 2013 года, так что прошло много времени с тех пор, как я в последний раз использовалэто и сейчас у меня не так много времени, чтобы проверить и проверить, все ли в порядке.Но если кому-то еще интересно, как эта работа, я думаю, я смогу найти пробел для загрузки всего на Github.