Bien qu'il existe un Contenu.fichier json (voir ci-dessous) est associée à chaque élément dans xcassets qui contient les noms de fichier de l'élément de l'image, il ne semble pas être accessible au niveau de système de fichiers. Toutes les images sont placées dans un même système de fichiers du dossier lors de la compilation. Le fichier json est généré automatiquement et ne doivent pas être modifiés, mais il fournit un modèle pour une solution de contournement.
Le nom de chaque fichier, une image cohérente de suffixe pour correspondre à la correspondante de l'idiome, de l'échelle et du sous-type figurant dans le fichier json. Cela nécessite un travail manuel, sélectionnez "Afficher dans le Finder" option pour chaque actif, et de le renommer chaque fichier, mais une fois terminé, vous pouvez alors utiliser pathForResource en combinaison avec une fonction pour ajouter le suffixe approprié à l'actif de base nom pour récupérer la taille appropriée de l'image.
Exemple de code pour récupérer le chemin d'accès:
NSString *imageName = @"Add to Cart";
NSString *imageSuffix = [self someMethodThatDeterminesSuffix]; // Example: "-iphone-2x-retina4"
NSString *imagePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@%@", imageName, imageSuffix] ofType:@"png"];
Exemple De Contenu.fichier json pour le "Ajouter au Panier" image de l'actif:
{
"images" : [
{
"idiom" : "iphone",
"scale" : "1x",
"filename" : "Add to Cart-iphone-1x.png"
},
{
"idiom" : "iphone",
"scale" : "2x",
"filename" : "Add to Cart-iphone-2x.png"
},
{
"idiom" : "iphone",
"filename" : "Add to Cart-iphone-2x-retina4.png",
"subtype" : "retina4",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}