Dans un scénario, nous devrons peut-être obtenir le nom de l'icône de l'application et le nom de l'image de démarrage. Par exemple, lorsque l'application est au premier plan, elle reçoit une notification à distance, mais il n'y aura pas de rappel de notification dans la barre de notification. Pour le moment, je veux faire une invite de notification simulée, et je dois utiliser le nom de l'icône; Par exemple, lors du chargement d'un certain contrôleur, je souhaite définir l'image d'arrière-plan du contrôleur en tant qu'image de démarrage, et j'ai besoin d'utiliser le nom de l'image de démarrage.
En fait, l'image d'icône est placée dans le dossier System AppIcon et l'image de démarrage est placée dans le dossier de lancement système. Les noms de ces images sont différents de ceux d'autres images de ressources générales.
Pour donner des exemples, soyons simples et rugueux.
Supposons que le projet actuel ne prenne en charge que les appareils iPhone et ne prend en charge que les écrans verticaux; et l'icône Appicon et l'image de démarrage ont été définies dans le projet actuel.
Comment obtenir le nom de l'icône de l'icône et le nom de l'image du démarrage?
Sur le code et imprimez le journal:
/ ** Obtenez l'icône Icon Nom de l'application * / - (void) getAppiconName {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; // Obtenez tous les noms d'icône dans l'application nsarray * iconsarr = Infodict [@ "cfbundleicons"] [@ "cfbundleprimaryiCon"] [@ "cfbundleiconfiles"]; // Obtenez le dernier nom d'icône nsstring * iconlastName = [iConsarr lastObject]; // Imprime le nom d'icône nslog (@ "iconlAn:% @", iconsarr); nslog (@ "iconlAn:%:", iconsarr); nslog (@ "iconlame:% @", iconsarr); nslog (@ "iconlame:% @", iconsarr); nslog (@ "iconlame:%:", iconsarr); nslog (@ "iconlame:% @", iconsarr); % @ ", iconlaunchname); / * Imprimer le journal: iConsarr: (appicon29x29, appicon40x40, appicon60x60) iconlastName: appicon60x60 * /} / ** Obtenez le nom de l'image de démarrage de l'application et mettez-le à l'image d'arrière * LaunchImageName = @ ""; // Démarrer le nom de l'image variable cgfloat screenHeight = [Uiscreen MainScreen] .bounds.size.height; // Obtenez le nom d'image de démarrage correspondant au périphérique actuel if (screenHeight == 480) {// 4, 4SlAnChImageName = @ "Launchage-700";} else if (screenHeight == 568) iPodlaunchImageName = @ "LaunchImage-700-568h";} else if (screenHeight == 667) {// 6, 6slaunchImageName = @ "LaunchImage-800-667h";} else if (screenHeight == 736) {// 6plus, 6SplusLaUnSImAgEname = @ "LaunchImage-800-Landscape-736H";} if (LaunchImageName.Length <1) return; // L'image de démarrage du périphérique est l'image d'arrière-plan du contrôleur UiImage * img = [uiImage ImageNamed: LaunchageName]; self.view.backgroundColor = [UICOLOR ColorWithPatterNimage: IMG]; }Imprimez toutes les informations d'image de démarrage qui ne prennent actuellement en charge que les appareils iPhone et ne prennent en charge que les scènes d'écran verticales:
/ ** Imprimez toutes les informations de nom d'image de démarrage dans l'application * / - (void) printalllaunchImageInfo {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; // Obtenez tous les informations d'image de démarrage NSARAY * LaunSImagesArr = Infodict [@ "uilaunchImages"]; NSLOG (@ "LunkingImagesArr:% @", LaunchImagesArr); / * Journal d'impression: le nom de l'image de démarrage est corrigé LaunchImagesArr: ({uilaunchImagemiMumosversion = "8.0"; uilaunageName = "LaunchImage-800-Portrait-736h" UilaunchImageMImumosversion = "8.0"; "Launchage-800-667h"; 480} ";}, {uilaunchImageMImumosversion =" 7.0 "; uilaunchImageName =" LaunchImage-700-568H "; UilaunChImageORientation = Portrait; UilAunchImageSize =" {320, 568} ";}) * /} J'ai vu que l'icône du projet Appicon et les informations d'image de démarrage peuvent être obtenues à partir de [[nsbundle Mainbundle] Infodictionary]. Il contient également d'autres informations sur l'application, telles que la version, le nom de l'application, le type de périphérique et la direction de prise en charge. . .
Imprimez toutes les informations à voir:
/ ** Imprimer les informations de configuration du projet d'application * / - (void) printInFodictionary {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; Nslog (@ "% @", infodict); / * Journal d'impression: {buildMachineOsBuild = 15G31; CfbundleDevelopmentRegion = en; CfbundleExecuable = tantest; Cfbundleicons = {cfbundleprimaryiCon = {cfbundleConfiles = (appicon29x29, appicon40x40, appicon60x60); }; }; CfbundleIdentifier = "net.tan.xxx"; CfbundleInfodictionaryVersion = "6.0"; CfbundleinfopListUrl = "info.plist - fichier: /// utilisateurs / px / bibliothèque / développeur / coresimulater / périphériques / 7020368b-c160-42c0-b3c5-5f958fa82 EF5 / DATA / CONTERNERS / BUMDLE / APPLICATION / 77D8C333-A6AF-4183-B79A-A5BEDCD08E1A / TANTEST.APP / "; CfbundLename = tantest; CfbundleNumericVersion = 16809984; CfbundlePackageType = Appl; CfbundlesHortVersionString = "1.0"; CfbundleSignature = "????"; CfbundleSupportedPlatForms = (iPhonesImulator); Cfbundleversion = 1; Dtcompiler = "com.apple.compilers.llvm.clang.1_0"; DtplatformBuild = ""; DtplatformName = iPhonesImulator; DtplatformVersion = "9.3"; DTSDKBUILD = 13E230; Dtsdkname = "iPhoneSimulator9.3"; Dtxcode = 0731; DtxCodeBuild = 7d1014; Lsrequiresiphoneos = 1; Minimumosversion = "6.0"; Uidevicefamily = (); UilAnChImageFile = LaunchImage; UilaunchImages = ({uilaunchimagemimumosversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaunchImageOrientation = portrait; uilaunchImageSize = "{414, 736}";}, {uilaunchimaginmimumosversion = "; UilaunchImageName = "Launchage-800-Landscape-736h"; UilaunchImageOrientation = Portrait; UilaunchImageMImumosversion = "7.0"; UilAnChStoryBoardName = LaunchScreen; UImainStoryBoardFile = Main; UirequiredDeviceCapabilities = (armv7); UisupportedInterfaceOrientations = (uiInterfaceOrientationPortTrait); } * /} --------- Ensuite, regardons à quoi ressemblent Appicon et LaunchImage et comment obtenir lorsque l'application prend en charge les appareils iPhone et iPad, ainsi que des écrans horizontaux et verticaux.
Tout d'abord, ajoutez deux images, puis ajoutez le code de test:
Code de test:
1. Obtenez tous les noms d'icônes de l'icône d'Appicon
/ ** Prise en charge de l'iPhone et de l'iPad, obtenez le nom de l'icône de l'icône de l'application * / - (void) GetAppiconName {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; // Obtenez tous les noms d'icônes dans l'application nsArray * iconsarr = infodict [@ "cfbundleicons"] [@ "cfbundleprimaryicon"] [@ "cfbundlediConfiles"]; // Obtenez le dernier nom d'icône nsstring * iconlastName = [iconsarr lastObject]; // Imprime le nom de l'icône nslog (@ "iconsarr:% @", iconsarr); Nslog (@ "iconlastName:% @", iconlastName); / * Journaux d'impression (29pt et 40pt iPhone et iPad sont utilisés; 60pt --- iPhone, 76pt et 83.5pt --- iPad): iConsarr: (AppIcon29x29, appicon40x40, appicon60x60, appicon76x76, "appicon83.5x83.5") iconlastname: appicon83.5x83.5 * /} 2. Obtenez l'image de démarrage lorsque vous prendz en charge le développement de l'iPhone et de l'iPad, et prend en charge les écrans horizontaux et verticaux, et définissez-le comme code d'image d'arrière-plan.
(L'appareil iPhone n'a que deux ensembles d'images sur plus, c'est-à-dire 5,5 pouces, et les écrans verticaux 4, 5 et 6 autres partagent une image de démarrage)
/ ** Prise en charge de l'iPhone et de l'iPad, prends en charge les écrans horizontaux et verticaux, obtenez le nom de l'image de démarrage de l'application et définissez-le sur l'image d'arrière-plan de ce contrôleur * / - (void) getlaunchImageName {nsString * lankageName = @ ""; // Démarrer le nom de l'image variable cgfloat screenHeight = [uiscreen MainScreen] .bounds.size.height; // Hauteur d'écran cgfloat screenwidth = [Uiscreen MainScreen] .bounds.size.width; // Largeur d'écran // Orientation de l'interface du périphérique UiInterfaceOrientation Orientation = [UIApplication SharedApplication] .StatusBarorientation; Bool isportrait = uiInterfaceOrientationIsportrait (orientation); // s'il faut avoir un écran vertical bool insulaire = uiInterfaceOrientationIslandscape (orientation); // où avoir un écran horizontal // Obtenez le nom d'image de démarrage qui correspond au dispositif actuel // 4, 4S Écran vertical, écran horizontal (Isorpory && screenwidth == 480))) {LaunchageName = @ "LaunchImage-700"; } // 5, 5c, 5s, écran vertical iPod, écran horizontal else if ((isportrait && screenHeight == 568) || (Islandscape && screenwidth == 568)) {launchageName = @ "LaunSImage-700-568h"; } // 6, 6s écran vertical, écran horizontal else if ((iSportrait && screenHeight == 667) || (IslandScape && screenwidth == 667)) {lankImageName = @ "launchage-800-667h"; } // 6Plus, 6splus écran vertical else if (isportrait && screenHeight == 736) {LaunchageName = @ "LaunchImage-800-Portrait-736H"; } // 6Plus, 6splus écran horizontal else if (IslandScape && screenwidth == 736) {launchageName = @ "LaunchImage-800-Landscape-736H"; } // Écran vertical iPad else if (isportrait && screenHeight == 1024) {lankageName = @ "LaunchImage-700-Portrait"; } // Écran horizontal iPad else if (IslandScape && screenwidth == 1024) {lankageName = @ "LaunchImage-700-Landscape"; } if (LaunchImageName.Length <1) return; // L'image de démarrage de l'appareil est l'image d'arrière-plan du contrôleur uiImage * img = [uiImage ImageNameD: lankImageName]; self.view.backgroundColor = [UIColor ColorWithPatterNimage: IMG];}3. Imprimez toutes les informations d'image de démarrage
/ ** Imprimez toutes les informations de nom d'image de démarrage dans l'application * / - (void) printalllaunchImageInfo {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; // Obtenez tous les informations d'image de démarrage NSARAY * LaunSImagesArr = Infodict [@ "uilaunchImages"]; NSLOG (@ "LunkingImagesArr:% @", LaunchImagesArr); / * Journal d'impression: le nom de l'image de démarrage est corrigé LaunchImagesArr: ({uilaunchImagemiMumosversion = "8.0"; uilaunageName = "LaunchImage-800-Portrait-736h" UilaunchImageMImumosversion = "8.0"; "Launchage-800-667h"; 480} ";}, {uilaunchImageMImUmosversion =" 7.0 "; uilaunchImageName =" LaunchImage-700-568H "; UilaunSImageOriientation = Portrait; UilaunSImageSize =" {320, 568} ";}, {UilaunSImAgagMaginimumosversion =" 7.0 ";; UilaunchImageName = "LaunchImage-700-Portrait"; UilaunchImageSize = "{768, 1024}"; }, {UilaunchImageMImUmosversion = "7.0"; UilaunchImageName = "LaunchImage-700-Landscape"; UilaunchImageOrientation = paysage; UilaunchImageSize = "{768, 1024}"; }) * /} 4. Imprimer toutes les informations de configuration
/ ** Imprimer les informations de configuration du projet d'application * / - (void) printInFodictionary {nsdictionary * infodict = [[nsbundle mainbundle] infodictionary]; Nslog (@ "% @", infodict); / * Journal d'impression: {buildMachineOsBuild = 15G31; CfbundleDevelopmentRegion = en; CfbundleExecuable = tantest; Cfbundleicons = {cfbundleprimaryiCon = {cfbundleConfiles = (appicon29x29, appicon40x40, appicon60x60, appicon76x76, "appicon83.5x83.5"); }; }; CfbundleIdentifier = "net.tan.xxx"; CfbundleInfodictionaryVersion = "6.0"; CfbundleinfopListUrl = "info.plist - fichier: /// utilisateurs / px / bibliothèque / développeur / coresimulateur / périphériques / 3246f9ae-1d73-4e4f-8ddf-f591dbe64 F63 / data / conteneurs / bundle / application / 7dd6c793-f882-43cf-9897-1433411289e6 / tantest.app / "; CfbundLename = tantest; CfbundleNumericVersion = 16809984; CfbundlePackageType = Appl; CfbundlesHortVersionString = "1.0"; CfbundleSignature = "????"; CfbundleSupportedPlatForms = (iPhonesImulator); Cfbundleversion = 1; Dtcompiler = "com.apple.compilers.llvm.clang.1_0"; DtplatformBuild = ""; DtplatformName = iPhonesImulator; DtplatformVersion = "9.3"; DTSDKBUILD = 13E230; Dtsdkname = "iPhoneSimulator9.3"; Dtxcode = 0731; DtxCodeBuild = 7d1014; Lsrequiresiphoneos = 1; Minimumosversion = "9,0"; Uidevicefamily = (1,); UilAnChImageFile = LaunchImage; UilaunchImages = ({uilaunchimagemimumosversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaunchImageOrientation = portrait; uilaunchImageSize = "{414, 736}";}, {uilaunchimaginmimumosversion = "; UilaunchImageName = "Launchage-800-Landscape-736h"; UilaunchImageOrientation = Portrait; UilaunchImageMImumosversion = "7.0"; "Launchage-700-Portrait"; UilaunchImageName = "LaunchImage-700-Landscape"; UilaunchImageOrientation = paysage; UilaunchImageSize = "{768, 1024}"; }); UilAnChStoryBoardName = LaunchScreen; UImainStoryBoardFile = Main; UirequiredDeviceCapabilities = (armv7); UisupportedInterfaceOrientations = (uiInterfaceOrientationPortrait, uiInterfaceOrientationLandScapeleft, uiInterfaceOrientationLandScaperIght); } * /}Ce qui précède est l'iOS AppIcon et le nom de LaunchAmage (Icône de l'application et nom d'image de lancement) introduit par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!