Tout d'abord, puisque votre question est étiquetée iPhone, vous ne pouvez inclure du code dans vos offres groupées sur l'iPhone. Donc, fondamentalement, vous ne pouvez utiliser que des paquets pour emballer des images et des fichiers son et d'autres données statiques. Lorsque vous créez un nouveau projet dans XCode, il existe une option permettant de regrouper la cible (sous Framework & Library), mais un ensemble d'actifs est simplement un répertoire avec un suffixe .bundle. Je le mien produis avec ce petit 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
(Je ne suis pas pirate bash, alors cela peut sans doute être améliorée dans d'innombrables façons de recevoir des suggestions.!)
Cela prend une hiérarchie de dossiers et aplatit (Je déteste les hiérarchies) dans un seul répertoire nommé MyAssets.bundle. Je déclenche ce script à partir d'une phase de construction distincte dans les projets qui importent le bundle, afin que les modifications soient automatiquement suivies. Si vous voulez apprendre à créer des bundles de framework, c'est un peu plus compliqué (vous devez suivre certaines conventions et inclure des informations dans les plistes), mais pour les bundles iPhone, c'est à peu près tout ce que vous devez savoir et faire.
Est-il possible de charger des fichiers à partir de ce paquet xib, parce que je ne l'ai pas trouvé un moyen de le faire ? – vakio
Vous pouvez utiliser le bundle approprié dans [[NSBundle mainBundle] loadNibNamed: @ "MyViewController" propriétaire: self options: nil] et [aViewController initWithNibName: @ "MyViewController" bundle: nil] (nul signifie simplement le bundle principal) – Felixyz
vous ne pouvez pas avoir de bundle externe, n'est-ce pas? Comme NSBundle * bundle = someFunctionToLoadExternalBundle(); [bundle loadNibNamed: @ "name" propriétaire: self options: nil]; J'ai googlé et seulement trouvé que cela ne peut pas être fait. Juste vérifier si vous avez découvert un moyen miracle de le faire ou quelque chose, mais je sais que cela n'arrivera probablement jamais. – vakio