Ответ 1
Прежде всего, поскольку ваш вопрос помечен iPhone, вы можете включать только код в свои пакеты на iPhone. Таким образом, вы можете использовать пакеты только для упаковки изображений и звуковых файлов и других статических данных.
Когда вы создаете новый проект в XCode, существует возможность сделать целевой набор (в рамках Framework и библиотеки), но набор активов - это просто каталог с суффиксом .bundle. Я создаю мой с помощью этого небольшого script:
#!/bin/bash
echo "Building assets bundle."
if [ -d ./MyAssets.bundle ]; then
rm ./MyAssets.bundle/*
else
mkdir ./MyAssets.bundle
fi
find ./assets -type f -print0 | xargs -0 -J% cp % ./MyAssets.bundle
(Я не хакеры bash, поэтому это, вероятно, возможно улучшить бесчисленными способами. Предложения приветствуются!)
Это занимает иерархию папок и выравнивает ее (я ненавижу иерархии) в один каталог, который называется MyAssets.bundle. Я запускаю этот script из отдельной фазы сборки, когда в проектах, которые импортируют пакет, так что изменения автоматически отслеживаются.
Если вы хотите узнать, как создавать фреймворки, это немного сложнее (вы должны следовать определенным соглашениям и включать информацию в plists), но для пакетов iPhone это почти все, что вам нужно знать и делать.