Comment faire un iOS actif bundle?
J'ai vu une coutume de l'actif à l'ensemble d'un projet iOS, j'ai évalué, donc au moins je sais que c'est possible.
Mon problème est que je suis en utilisant un CATiledLayer avec près de 22 000 tuiles pour une image donnée, et il faut un temps très long à compiler (une demi-heure de nouvelle génération, de 5 à 10 minutes pour les réguliers de construire). Donc, je veux prendre toutes les images et de faire un lot personnalisé pour le rendre portable et j'espère ne pas recompiler dans l'app bundle à chaque fois.
Comment puis-je aller à ce sujet? J'ai vérifié les docs, mais ne pas y voir une explication sur la façon de créer le bundle.
Vous devez vous connecter pour publier un commentaire.
Réponse est bêtement simple
Faire un dossier dans le finder, ajouter des fichiers, les renommer bundlename.bundle
faites-les glisser dans Xcode - succès!
d'accès, utilisez le formulaire de PathToMainBundle+"/bundlename.bundle"
ofType
partie depathForResource:ofType
(ofType:@"PNG"
) qui a travaillé sur le Simulateur, mais pas sur l'appareil réel. À partir de cela, je dirais que vous avez besoin de pas appeler la méthode load de la non-exécution des faisceaux afin d'extraire des ressources..bundle
suffixe.Comment créer un bundle
.bundle
(par exemple, "Nouveau dossier" -> "BundleName.bundle")PS: Vous pouvez à tout moment cliquer-droit sur le dossier et appuyez sur "Afficher le contenu du paquet" afin d'ajouter, de supprimer ou de modifier les fichiers.
Comment ajouter le bundle pour Xcode
Comment utiliser le bundle
(Remplacer
BundleName
,fileName
etfileType
avec des noms appropriés)Deux autres morceaux de conseils:
Tout d'abord, afin de voir le contenu du paquet dans XCode, vous devez définir son type dans le Fichier de l'Inspecteur de l'Utilitaire de Volet, à l'Application "Bundle". Vous ne serez pas en mesure de copier et de la via XCode. Vous devez utiliser la Borne, mais XCode qui sera mis à jour immédiatement.
En Second lieu, afin d'utiliser les ressources dans le bundle voici une extrait de...
Comme mentionné dans mon commentaire ci-dessus, vous n'avez pas besoin de charger le bundle (vous ne pouvez pas car il n'est pas exécutable) et le
ofType
doit correspondre au cas de votre fichier pour qu'il fonctionne sur l'appareil. Il fonctionnera de toute façon dans le simulateur afin de ne pas se laisser berner par ce hareng rouge!Enfin, vous n'avez pas besoin de mettre vos ressources dans la rubrique "Ressources" sous-dossier à l'intérieur du bundle. Il semble que vous pouvez utiliser un arbitraire de la mise en page, mais il y a peut-être inconnu incidence sur les performances.
myBundle
dans le code ci-dessus???\Voici comment j'ai obtenu ce travail: Dans XCode créer un nouveau fichier | Ressources | Paramètres du Faisceau. Ensuite, dans le Finder, sélectionnez le ballot et choisissez Afficher le Contenu du Paquet, et ajouter tous les fichiers d'image.
Puis dans le code de référence d'une image de cette façon:
Mes notes sur le regroupement et la lecture des fichiers dans un projet XCode
Suit:
print(Bundle.main.resourcePath!+"/temp.bundle/test.txt")
De Sortie: /Users/James/Library/Developer/Xcode/DerivedData/GitSyncMac-heiwpdjbtaxzhiclikjotucjguqu/Build/Products/Debug/GitSyncMacApp.app/Contents/Resources/temp.bundle/test.txtExemple:
Ici sont les étapes pour créer un actif ou d'un regroupement de ressources (ex.
FrameworkResources.bundle
) - il est étonnamment non évidente. Ceci est particulièrement utile si vous créez statique cadres.SDKROOT
) à "iOS