Ça marche très bien! Vous supposent que Assets.car n'est pas votre catalogue d'actifs, mais il est. Et vous supposons que vos images ne sont pas à l'intérieur, mais ils le sont.
Si Xcode extrayait précédemment les images du catalogue d'actifs et les plaçait au niveau supérieur de l'infrastructure, était un comportement incorrect! Les images de catalogue d'actifs doivent être compilées dans la version compilée du catalogue d'actifs (le fichier .car). Et c'est maintenant exactement ce qui se passe. Et il n'y a aucune raison pour que le catalogue d'actifs ne soit pas renommé au cours de la compilation (puisque vous ne pouvez en aucun cas vous référer directement à un catalogue d'actifs par son nom dans le code).
Vous pouvez confirmer que c'est ce qui s'est passé en lisant le rapport généré lors de la compilation. Vous ne l'incluez pas dans votre capture d'écran, cependant. Je vais te montrer. Voici mon projet, semblable à la vôtre:
Et voici la partie pertinente du rapport:
Voir les deux dernières lignes? MyFrameworkAssets.xcassets
a été compilé dans le catalogue d'actifs appelé /MyCoolFramework.framework/Assets.car
, exactement comme dans votre projet.
Donc, je pense que le problème est simplement que vous essayons de regarder cela "de l'extérieur" (c.-à-d.en utilisant Terminal) et vous ne comprennent pas ce que vous voyez. La façon de savoir si cela fonctionne est que votre code cadre se réfère à une image et l'affiche, et vous n'avez pas ce code. (En fait, votre framework n'a pas de code du tout, donc c'est un framework plutôt inutile.) Ou téléchargez AssetCatalogTinkerer et regardez dans le fichier assets.car. Vous verrez que votre image est là!
(Soit dit en passant, je pense aussi que votre projet est très mal organisé. L'image et le catalogue actif appartenant au cadre devrait être dans le dossier du cadre.)
Vous avez raison, merci! FYI: Lorsque vous utilisez l'actool avec --minimum-deployment-target <7.0, il crée le fichier Assets.car et copie également tous les png de l'ensemble des xcassets vers le bundle. C'est la mise à jour de ma cible de déploiement minimale vers 8.0 qui a provoqué le changement et non Xcode 9 (bien que Xcode 9 ait été la raison pour laquelle j'ai dû mettre à jour la cible de déploiement minimum car elle ne supporte pas xibs pour iOS!). –
"AUSSI copie tous les pngs de l'ensemble des xcassets dans l'ensemble" Parce que vous demandez d'exécuter sur une version du système si follement vieux que les catalogues d'actifs n'avaient même pas encore été inventés! – matt