Dalam beberapa skenario, kita mungkin perlu mendapatkan nama ikon aplikasi dan nama gambar startup. Misalnya, ketika aplikasi berada di latar depan, ia menerima pemberitahuan jarak jauh, tetapi tidak akan ada pengingat pemberitahuan di bilah pemberitahuan. Pada saat ini, saya ingin membuat prompt pemberitahuan yang disimulasikan, dan saya perlu menggunakan nama ikon; Misalnya, saat memuat pengontrol tertentu, saya ingin mengatur gambar latar belakang pengontrol sebagai gambar startup, dan saya perlu menggunakan nama gambar startup.
Bahkan, gambar ikon ditempatkan di folder Appicon Sistem, dan gambar startup ditempatkan di folder launchimage sistem. Nama -nama gambar ini berbeda dari gambar sumber daya umum lainnya.
Untuk memberikan contoh, mari kita menjadi sederhana dan kasar.
Misalkan proyek saat ini hanya mendukung perangkat iPhone dan hanya mendukung layar vertikal; dan ikon Appicon dan gambar startup telah diatur dalam proyek saat ini.
Bagaimana cara mendapatkan nama ikon ikon dan nama gambar startup?
Pada kode dan cetak log:
/** Dapatkan nama ikon ikon dari aplikasi*/- (void) getAppiconname {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary]; // dapatkan semua nama ikon di aplikasi nsarray*iconsarr = infodict [@"cfbundleicons"] [@"cfBundlePrimaryIcon"] [@"cfbundleiconfiles"]; // Dapatkan nama ikon terakhir nsstring *iconLastName = [iconsarr lastObject]; // cetak nama ikon nslog (@"iconsarr: %@", ","@"@",@"@"@"@"@"@"@"@"@"@"@"iConsarr); %@", iconlaunchname);/*Cetak log: iconsarr: (appicon29x29, appicon40x40, appicon60x60) iconlastname: appicon60x60*/}/** Dapatkan nama startup dari aplikasi dan setel ke latar belakang gambar ini*-- Baklah dengan gambar startup dan setel ke latar belakang controller* *launchimagename = @""; // Mulai nama gambar variabel cgfloat screenheight = [uiscreen arainscreen] .bounds.size.height; // Dapatkan nama gambar startup yang cocok dengan perangkat saat ini (screenheight == 480) {// 4, 4slaunchimagename = @"LaunchImage-700";} lainnya IF (screene = launchimage-700 ";} {ower= ( @ @" Launchimage-700 "; iPodLaunchimagename = @"LaunchImage-700-568H";} else if (screenheight == 667) {// 6, 6slaunchimagename = @"launchImage-800-667H";} lain jika (screemeHeight == 736) {// 6plus, 6splus, 6splus, 6splus, 6splus, @"Launchimage-800-Landscape-736h";} if (launchimagename.length <1) return; // gambar startup perangkat adalah gambar latar belakang uiimage controller *img = [uiimage imagenamed: launchimagename]; self.view.backgroundColor = [UIColor ColorWithPatternImage: IMG]; }Cetak semua informasi gambar startup yang saat ini hanya mendukung perangkat iPhone dan hanya mendukung adegan layar vertikal:
/** Cetak semua informasi nama gambar startup di aplikasi*/- (void) printAllLaunchImageInfo {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary]; // Dapatkan semua informasi gambar startup array nsarray *launchimageRarr = infodict [@"uilaunchimages"]; Nslog (@"LaunchImageRarr: %@", LaunchImageRarr); /* Cetak Log: Nama gambar startup adalah Fixed LaunchImageArr: ({uilaunchimageminimumOsVersion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaunchimageRientation = porret; uilaunchimageSize = "{414, 73; UilaunchimageminimumOsversion = "8.0"; "Launch-800-667H"; 480} ";}, {uilaunchimageminimumOmversion =" 7.0 "; uilaunchimagename =" LaunchImage-700-568h "; uilaunchimageArtionation = Portrait; uilaunchimageSize =" {320, 568} ";}) */} Saya melihat bahwa ikon appicon proyek dan informasi gambar startup dapat diperoleh dari [[NSBundle Mainbundle] InfoDictionary]. Ini juga berisi informasi lain tentang aplikasi, seperti versi, nama aplikasi, jenis perangkat, dan arah dukungan. . .
Cetak semua informasi untuk dilihat:
/** Cetak Informasi Konfigurasi Proyek Aplikasi*/- (void) printinfodictionary {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary]; Nslog (@"%@", infodict); /* Cetak log: {buildMachineosBuild = 15G31; Cfbundledevelopmentregion = en; Cfbundlexecutable = tantest; Cfbundleicons = {cfbundlePrimaryIcon = {cfbundleiconFiles = (appicon29x29, appicon40x40, appicon60x60); }; }; CfBundleDeidifier = "net.tan.xxx"; Cfbundledinfodictionaryversion = "6.0"; CFBundLEINFOPLISTURL = "info.plist - File: /// Users/px/library/pengembang/coresimulator/perangkat/7020368b-c160-42c0-b3c5-5f958fa82 EF5/Data/Containers/Bundle/Application/77D8C333-A6AF-4183-B79A-A5BEDCD08E1A/TANTEST.App/"; Cfbundlename = tantest; CfbundlenumericVersion = 16809984; CfbundlepackageType = appl; Cfbundleshortversionstring = "1.0"; Cfbundlemersignature = "????"; Cfbundlesupportedplatforms = (iPhonesimulator); Cfbundleversion = 1; Dtcompiler = "com.apple.compilers.llvm.clan.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 = ({uilaunchimageminimumOmversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaLaunchImageArientation = Portrait; uilaunchImageize = "{414, 736}"; Uilaunchimagename = "LaunchImage-800-Landscape-736h"; = Portrait; UILaunchImageSize = "{375, 667}"; }, { UILaunchImageMinimumOSVersion = "7.0"; UILaunchImageName = "LaunchImage-700"; UILaunchImageOrientation = Portrait; UILaunchImageSize = "{320, 480}"; }, { UILaunchImageMinimumOSVersion = 7.0 "; UilaunchStoryBoardName = LaunchScreen; UIMAintStoryBoardFile = Main; UirequiredDeviceCapability = (ARMV7); UisupportedInterfaceorientations = (UIInterfaceorientationationPortrait); } */} --------- Selanjutnya, mari kita lihat bagaimana Appicon dan LaunchImage seperti dan bagaimana memperoleh ketika aplikasi mendukung perangkat iPhone dan iPad, serta layar horizontal dan vertikal.
Pertama, tambahkan dua gambar, dan kemudian tambahkan kode uji:
Kode Uji:
1. Dapatkan semua ikon nama ikon Appicon
/** Dukungan iPhone dan iPad, dapatkan nama ikon ikon aplikasi */- (void) getAppiconname {nsdictionary *infodict = [[nsbundle mainbundle] infodictionary]; // Dapatkan semua nama ikon di aplikasi nsarray *iconsarr = infodict [@"cfbundleicons"] [@"cfbundleprimaryicon"] [@"cfbundleiconfiles"]; // Dapatkan nama ikon terakhir nsstring *iconLastName = [iconsarr lastObject]; // cetak nama ikon 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. Dapatkan gambar startup saat mendukung pengembangan iPhone dan iPad, dan mendukung layar horizontal dan vertikal, dan atur sebagai kode gambar latar belakang.
(Perangkat iPhone hanya memiliki dua set gambar di plus, yaitu, 5,5 inci, dan layar vertikal 4, 5, dan 6 lainnya berbagi gambar startup)
/** Dukungan iPhone dan iPad, mendukung layar horizontal dan vertikal, dapatkan nama gambar startup aplikasi dan atur ke gambar latar belakang pengontrol ini*/- (void) getLaunchimagename {nsstring*launchImagename = @""; // Mulai nama gambar variabel cgfloat screenheight = [uiscreen arainscreen] .bounds.size.height; // Tinggi layar cgfloat screenwidth = [Uiscreen Mainscreen] .bounds.size.width; // Lebar layar // orientasi antarmuka perangkat UIInterfaceorientation Orientation = [UiApPlication SharedApplication] .StatusBarorientation; Bool isportrait = uiinterfaceorientationisportrait (orientasi); // apakah akan memiliki layar vertikal bool pulaucape = uiinterfaceorientationislandscape (orientasi); // di mana memiliki layar horizontal // scrinecry (scrinecry ife/oficrait (scrinecry. (Islandscape && screenWidth == 480)) {launchimagename = @"launchimage-700"; } // 5, 5c, 5s, layar vertikal iPod, layar horizontal lain jika ((isportrait && screenheight == 568) || (pulaucape && screenwidth == 568)) {launchimagename = @"launchimage-700-568h"; } // 6, 6s layar vertikal, layar horizontal lain jika ((isportrait && screenheight == 667) || (Islandscape && screenwidth == 667)) {launchimagename = @"launchimage-800-667h"; } // 6plus, 6splus layar vertikal lain jika (isportrait && screenheight == 736) {launchimagename = @"launchimage-800-portrait-736h"; } // 6plus, 6splus layar horizontal lain jika (Islandscape && screenwidth == 736) {launchageGename = @"launchImage-800-landscape-736h"; } // layar vertikal ipad lain jika (isportrait && screenheight == 1024) {launchimageName = @"launchimage-700-portrait"; } // layar horizontal iPad lain jika (Islandscape && screenwidth == 1024) {launchimagename = @"launchimage-700-landscape"; } if (launchimagename.length <1) return; // Gambar startup perangkat adalah gambar latar belakang uiImage controller *img = [uiimage imagenamed: launchimagename]; self.view.backgroundColor = [uicolor colorwithpatternImage: img];}3. Cetak semua informasi gambar startup
/** Cetak semua informasi nama gambar startup di aplikasi*/- (void) printAllLaunchImageInfo {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary]; // Dapatkan semua informasi gambar startup array nsarray *launchimageRarr = infodict [@"uilaunchimages"]; Nslog (@"LaunchImageRarr: %@", LaunchImageRarr); /* Cetak Log: Nama gambar startup adalah Fixed LaunchImageArr: ({uilaunchimageminimumOsVersion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaunchimageRientation = porret; uilaunchimageSize = "{414, 73; UilaunchimageminimumOsversion = "8.0"; "Launch-800-667H"; 480} ";}, {uilaunchimageminimumOmversion =" 7.0 "; uilaunchimagename =" LaunchImage-700-568H "; uilaunchimageRiorientation = uilaLaunchimageSeize =" {320, 568} ";}, uLaunchimage =" {320, 568}; = "LaunchImage-700-Portrait"; UilaunchImageSize = "{768, 1024}"; }, {UilaunchimageminimumoMoSversion = "7.0"; Uilaunchimagename = "LaunchImage-700-Landscape"; UilaunchImageRiential = lansekap; UilaunchImageSize = "{768, 1024}"; }) */} 4. Cetak semua informasi konfigurasi
/** Cetak Informasi Konfigurasi Proyek Aplikasi*/- (void) printinfodictionary {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary]; Nslog (@"%@", infodict); /* Cetak log: {buildMachineosBuild = 15G31; Cfbundledevelopmentregion = en; Cfbundlexecutable = tantest; Cfbundleicons = {cfbundlePrimaryIcon = {cfbundleiconfiles = (appicon29x29, appicon40x40, appicon60x60, appicon76x76, "appicon83.5x83.5"); }; }; CfBundleDeidifier = "net.tan.xxx"; Cfbundledinfodictionaryversion = "6.0"; CFBundLEINFOPLISTURL = "info.plist - File: /// Pengguna/px/pustaka/pengembang/coresimulator/perangkat/3246F9AE-1D73-4E4F-8DDF-F591DBE64 F63/data/wadah/bundel/aplikasi/7dd6c793-f882-43cf-9897-1433411289e6/tantest.app/"; Cfbundlename = tantest; CfbundlenumericVersion = 16809984; CfbundlepackageType = appl; Cfbundleshortversionstring = "1.0"; Cfbundlemersignature = "????"; Cfbundlesupportedplatforms = (iPhonesimulator); Cfbundleversion = 1; Dtcompiler = "com.apple.compilers.llvm.clan.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 = ({uilaunchimageminimumOmversion = "8.0"; uilaunchimagename = "LaunchImage-800-Portrait-736h"; uilaLaunchImageArientation = Portrait; uilaunchImageize = "{414, 736}"; Uilaunchimagename = "LaunchImage-800-Landscape-736h"; = Portrait; UILaunchImageSize = "{375, 667}"; }, { UILaunchImageMinimumOSVersion = "7.0"; UILaunchImageName = "LaunchImage-700"; UILaunchImageOrientation = Portrait; UILaunchImageSize = "{320, 480}"; }, { UILaunchImageMinimumOSVersion = "7.0"; UILaunchImageName = "LaunchImage-700-568h"; UILaunchImageOrientation = Portrait; UILaunchImageSize = "{320, 568}"; }, { UILaunchImageMinimumOSVersion = "7.0"; UILaunchImageName = "LaunchImage-700-Portrait"; UILaunchImageOrientation = Potret; Uilaunchimagename = "LaunchImage-700-Landscape"; UilaunchImageRiential = lansekap; UilaunchImageSize = "{768, 1024}"; }); UilaunchStoryBoardName = LaunchScreen; UIMAintStoryBoardFile = Main; UirequiredDeviceCapability = (ARMV7); UisupportedInterfaceorientatientation = (UIInterfaceorientationationPortrait, UIInterfaceorientationRandscapeleft, UIInterfaceorientationLandScaperight); }*/}Di atas adalah nama iOS Appicon dan LaunchImage (ikon aplikasi dan nama gambar peluncuran) yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!