In einem Szenario müssen wir möglicherweise den Symbolnamen der App und den Namen des Startbildes abrufen. Wenn sich die App im Vordergrund befindet, erhält sie beispielsweise eine Fernbenachrichtigung, aber es wird keine Benachrichtigungsempfindung in der Benachrichtigungsleiste geben. Zu diesem Zeitpunkt möchte ich eine simulierte Benachrichtigungsaufforderung erstellen und den Symbolnamen verwenden. Zum Beispiel möchte ich beim Laden eines bestimmten Controllers das Hintergrundbild des Controllers als Startbild festlegen und den Startbildnamen verwenden.
Tatsächlich wird das Symbolbild im System Appicon -Ordner und das Startbild im Systemstart -Ordner gesetzt. Die Namen dieser Bilder unterscheiden sich von denen anderer allgemeiner Ressourcenbilder.
Um Beispiele zu geben, lasst uns einfach und rau sein.
Angenommen, das aktuelle Projekt unterstützt nur iPhone -Geräte und unterstützt nur vertikale Bildschirme. Das Appicon -Symbol und das Startbild wurden im aktuellen Projekt festgelegt.
Wie bekomme ich den Namen des Symbolsymbols und den Startbildnamen?
Auf dem Code und drucken Sie das Protokoll:
/** Get den Symbolnamen der App*/- (void) getAppiconname {nsDictionary*Infodict = [[nsbundle mainBundle] Infodictionary]; // Alle Symbolnamen in der App nsArray*iconsarr = Holen Sie sich Infodict [@"cfbunddleicons"] [@"cfbundlePrimaryicon"] [@"CfbunddleiconFiles"]; // den letzten Icon -Namen nsstring *iconLastName = [iconsarr lastObject]; // Drucken des icon nslogs (@@@iconSarr: %@@ig@@", iconsarr: ig. %@", iconlaunchname);/*Druckprotokoll: iConsarr: (Appicon29x29, Appicon40x40, Appicon60x60) iConLastNAME: Appicon60x60*/}/** GET den Namen des Start-up-Bildes und setze das Hintergrund auf das Hintergrundbild dieses Kontrollierungsbildes für das Hintergrund von diesem Kontrolliern. *stirtImagename = @""; // Bildname starten variable cgfloat screenHeight = [Uiscreen-Hauptbildschirm] .bounds.SIZE.HELTH; = @"LaunchImage-700-568h";}else if (screenHeight == 667){ //6, 6SlaunchImageName = @"LaunchImage-800-667h";}else if (screenHeight == 736){ // 6Plus, 6SPluslaunchImageName = @"LaunchImage-800-Landscape-736h";}if (LaunchImagename.Length <1) Rückgabe; // Das Images -Startbild des Geräts ist das Hintergrundbild des Controller UIImage *img = [UIImage ImagEnamed: LaunchImagename]; self.view.backgroundColor = [UIColor ColorWithPatternImage: IMG]; }Drucken Sie alle Startbildinformationen, die derzeit nur iPhone -Geräte unterstützt und nur vertikale Bildschirmszenen unterstützen:
/** Drucken Sie alle Informationen zum Startbildname in der App*/- (void) printAlllaunchimageInfo {nsDictionary*Infodict = [[nsbundle mainBundle] Infodictionary]; // ALLE STARTUP -Bildinformationen Array nsArray *starten *infodict [@"uilaunchimages"]; NSLog (@"LaunchImageSarr: %@", LaunchImageSarr); /* Druckprotokoll: Der Name des Startbilds ist festgelegt, startete LaunchImagesarr: ({uilaunchImageminimumoSversion = "8.0"; UilaunchImageminimumoSversion = "8.0"; "LaunchImage-800-667H"; 480} ";}, {uilaunchimageminimumoSversion =" 7.0 "; Ich habe gesehen, dass das Projekt Appicon -Bild- und Startbildinformationen aus [[Nsbundle MainBundle] Infodicationary] erhalten werden kann. Es enthält auch andere Informationen zur App, z. B. Version, App -Namen, Gerätetyp und Support -Richtung. . .
Drucken Sie alle Informationen, um zu sehen:
/** Print App-Projektkonfigurationsinformationen*/- (void) printInfodictionary {nsDictionary*infodict = [[nsbundle mainbundle] Infodictionary]; Nslog (@"%@", Infodict); /* Druckprotokoll: {BuildMachineosbuild = 15G31; Cfbundledevelopmentregion = en; CfbundleEexecutable = am besten; Cfbunddleicons = {cfbUNdlePrimaryicon = {cfbuntleiconFiles = (Appicon29x29, Appicon40x40, Appicon60x60); }; }; CfbuntleIdentifier = "net.tan.xxx"; CFBUNDLEINFOTICTIONARYVERSION = "6.0"; CFBUNDLEINFOPListurl = "info.plist - Datei: /// Benutzer/PX/Bibliothek/Entwickler/CoreSimulator/Geräte/7020368B-C160-42C0-B3C5-5F958FA82 EF5/Daten/Container/Bundle/Anwendung/77D8C333-A6AF-4183-B79A-A5BEDCD08E1A/TANTest.app/"; Cfbundlename = verantwortlichsten; 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 = (); UilaunchimageFile = LaunchImage; Uilaunchimages = ({uilaunchimageminimumoSversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736H"; UilaunchImagename = "LaunchImage-800-Landscape-736H"; UilaunchImageOrtation = Porträt; UilaunchImageminimumoSversion = "7.0"; UilaunchStoryBoardName = Launchscreen; UimainStoryboardfile = main; UirequiredDevizecapabilities = (ARMV7); UISupportedInterFaceorientierungen = (UIInFaceorientationPortrait); } */} --------- Als nächstes schauen wir uns an, wie Appicon und LaunchImage so sind und wie sie erhalten, wenn die App sowohl iPhone- als auch iPad-Geräte sowie horizontale und vertikale Bildschirme unterstützt.
Fügen Sie zuerst zwei Bilder hinzu und fügen Sie dann den Testcode hinzu:
Testcode:
1. Holen Sie sich alle Symbolnamen von Appicon
/** Unterstützung iPhone und iPad, erhalten Sie den Symbolnamen der App */- (void) getAppiconname {nsDictionary *infodict = [[nsbundle mainBundle] Infodictionary]; // Alle Symbolnamen in der App nsArray *iconsarr = infodict [@"cfbuntleicons"] [@"cfbundlePrimaryicon"] [@"cfbunddleiconfiles"] erhalten; // den letzten Symbolnamen nsstring *iconLastName = [iconsarr lastObject] erhalten; // Drucken Sie den Symbolnamen NSlog (@"iconsarr: %@", iconsarr); Nslog (@"iconLastName: %@", iconLastName); /* Print logs (29pt and 40pt iPhone and iPad are used; 60pt --- iPhone, 76pt and 83.5pt --- iPad): iconsArr: (AppIcon29x29, AppIcon40x40, AppIcon60x60, AppIcon76x76, "AppIcon83.5x83.5" ) iconLastName: AppIcon83.5x83.5 */} 2. Erhalten Sie das Startbild, wenn Sie die iPhone- und iPad -Entwicklung unterstützen, und unterstützt horizontale und vertikale Bildschirme und setzen Sie es als Hintergrundbildcode.
(Das iPhone -Gerät verfügt nur über zwei Bilder von Bildern auf Plus, dh 5,5 Zoll, und die anderen 4, 5 und 6 vertikalen Bildschirme teilen sich ein Startbild)
/** Unterstützen Sie iPhone und iPad, unterstützen Sie horizontale und vertikale Bildschirme, erhalten Sie den Namen des Startbildes der App und setzen Sie es auf das Hintergrundbild dieses Controllers*/- (void) getLaunchimagename {nsstring*launchImagename = @""; // Bildname starten variable cgfloat screenHeight = [Uiscreen -Hauptbildschirm] .Bounds.SIZE.Height; // Bildschirmhöhe cgfloat screenwidth = [Uiscreen -Hauptbildschirm] .Bounds.SIZE.WIDTH; // Bildschirmbreite // Geräteschnittstellenorientierung uiInterfaceorientation orientation = [uiapplication SharedApplication] .StatusBarorientation; Bool isportrait = UiInterfaceorientationisportrait (Orientierung); // ob ein vertikaler Bildschirm bool Islandscape = UiInterfaceorientationislandScape (Orientierung); // Wo kann ein horizontaler Bildschirm mit dem Startbildschirm mit dem aktuellen Gerät übereinstimmen // 4, 4S -Bildschirm | (IslandScape && screenwidth == 480)) {LaunchImagename = @"LaunchImage-700"; } // 5, 5c, 5s, iPod vertikaler Bildschirm, horizontaler Bildschirm else wenn ((isportrait && screenHeight == 568) || (Islandscape && screenwidth == 568)) {LaunchImagename = @"LaunchImage-700-568H"; } // 6, 6s vertikaler Bildschirm, horizontaler Bildschirm sonst if ((Issportrait && screenHeight == 667) || (Islandscape && screenwidth == 667)) {LaunchImagename = @"LaunchImage-800-667H"; } // 6plus, 6splus vertikaler Bildschirm sonst if (isportrait && screenHeight == 736) {launchImagename = @"Startimage-800-Portrait-736H"; } // 6plus, 6Splus horizontaler Bildschirm sonst if (Islandscape && screenwidth == 736) {launchImagename = @"LaunchImage-800-Landscape-736H"; } // iPad vertikaler Bildschirm sonst if (isportrait && screenHeight == 1024) {stirpImagename = @"Startimage-700-Portrait"; } // iPad Horizontaler Bildschirm sonst if (Islandscape && screenwidth == 1024) {stirpImagename = @"LaunchImage-700-landschaftscape"; } if (startimagename.length <1) return; // Das Geräte -Startbild ist das Hintergrundbild des Controller UIImage *img = [UIImage ImagEnamed: LaunchImagename]; self.view.backgroundColor = [UIColor ColorWithPatternImage: IMG];}3. Drucken Sie alle Startbildinformationen aus
/** Drucken Sie alle Informationen zum Startbildname in der App*/- (void) printAlllaunchimageInfo {nsDictionary*Infodict = [[nsbundle mainBundle] Infodictionary]; // ALLE STARTUP -Bildinformationen Array nsArray *starten *infodict [@"uilaunchimages"]; NSLog (@"LaunchImageSarr: %@", LaunchImageSarr); /* Druckprotokoll: Der Name des Startbilds ist festgelegt, startete LaunchImagesarr: ({uilaunchImageminimumoSversion = "8.0"; UilaunchImageminimumoSversion = "8.0"; "LaunchImage-800-667H"; 480} ";}, {uilaunchimageminimumoSversion =" 7.0 "; Uilaunchimagename = "LaunchImage-700-Porträt"; Uilaunchimagesize = "{768, 1024}"; }, {UilaunchImageminimumoSversion = "7.0"; Uilaunchimagename = "LaunchImage-700-Landscape"; Uilaunchimageorientation = Landschaft; Uilaunchimagesize = "{768, 1024}"; }) */} 4. Drucken Sie alle Konfigurationsinformationen
/** Print App-Projektkonfigurationsinformationen*/- (void) printInfodictionary {nsDictionary*infodict = [[nsbundle mainbundle] Infodictionary]; Nslog (@"%@", Infodict); /* Druckprotokoll: {BuildMachineosbuild = 15G31; Cfbundledevelopmentregion = en; CfbundleEexecutable = am besten; Cfbunddleicons = {cfbundlePrimaryicon = {cfbundleiconFiles = (Appicon29x29, Appicon40x40, Appicon60x60, Appicon76x76, "Appicon83.5x83.5"); }; }; CfbuntleIdentifier = "net.tan.xxx"; CFBUNDLEINFOTICTIONARYVERSION = "6.0"; CFBUNDLEINFOPListurl = "info.plist - Datei: /// Benutzer/PX/Bibliothek/Entwickler/CoreSimulator/Geräte/3246f9ae-1d73-4e4f-8ddf-F591DBe64 F63/data/container/bündel/application/7dd6c793-f882-43cf-9897-1433411289e6/Tantest.app/"; Cfbundlename = verantwortlichsten; 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,); UilaunchimageFile = LaunchImage; Uilaunchimages = ({uilaunchimageminimumoSversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736H"; UilaunchImagename = "LaunchImage-800-Landscape-736H"; UilaunchImageOrtation = Porträt; UilaunchImageminimumoSversion = "7.0"; "LaunchImage-700-Portrait"; Uilaunchimagename = "LaunchImage-700-Landscape"; Uilaunchimageorientation = Landschaft; Uilaunchimagesize = "{768, 1024}"; }); UilaunchStoryBoardName = Launchscreen; UimainStoryboardfile = main; UirequiredDevizecapabilities = (ARMV7); UISupportedInterfaceorientierungen = (UIInfaceorientationPortrait, UiInterfaceorientationlandScapeleft, UiInterfaceorientationScaperight); }*/}Das obige ist der vom Editor vorgestellte iOS Appicon- und LaunchImage -Name (App -Symbol und Startbildname). Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!