في بعض السيناريو ، قد نحتاج إلى الحصول على اسم أيقونة التطبيق واسم صورة بدء التشغيل. على سبيل المثال ، عندما يكون التطبيق في المقدمة ، فإنه يتلقى إشعارًا عن بُعد ، ولكن لن يكون هناك تذكير للإخطار في شريط الإخطار. في هذا الوقت ، أريد أن أجعل موجه الإخطار المحاكاة ، وأحتاج إلى استخدام اسم الرمز ؛ على سبيل المثال ، عند تحميل وحدة تحكم معينة ، أريد تعيين صورة الخلفية لوحدة التحكم كصورة بدء تشغيل ، وأحتاج إلى استخدام اسم صورة بدء التشغيل.
في الواقع ، يتم وضع صورة الأيقونة في مجلد Appicon System ، ويتم وضع صورة بدء التشغيل في مجلد System LaunchImage. تختلف أسماء هذه الصور عن أسماء صور الموارد العامة الأخرى.
لإعطاء أمثلة ، لنكن بسيطًا وخشنًا.
لنفترض أن المشروع الحالي يدعم فقط أجهزة iPhone ويدعم فقط الشاشات الرأسية ؛ وتم تعيين أيقونة Appicon وصورة بدء التشغيل في المشروع الحالي.
كيف تحصل على اسم أيقونة أيقونة واسم صورة بدء التشغيل؟
على الرمز وطباعة السجل:
/** احصل على اسم أيقونة الأيقونة للتطبيق*/- (void) getappiconname {nsdictionary*infodict = [[nsbundle mainbundle] Infodict [@"cfbundleicons"]] [@"cfbundleprimaryicon"] [@"cfbundleiconfiles"] ؛ // احصل على اسم الأيقونات الأخيرة nsstring *iconlastName = [iconsarr lastobject] ؛ ٪@"، iconlaunchname) ؛/*سجل الطباعة: iconsarr: (Appicon29x29 ، Appicon40x40 ، Appicon60x60) iconlastname: AppIcon60x60*/}/** الحصول على اسم صورة البدء وتعيينها على صورة الخلفية*/- (void) *LaunchImagename = @"" ؛ // ابدأ اسم الصورة المتغير cgfloat screenheight = [Uiscreen mainscreen] .bounds.size.height ؛ ipodlaunchimagename = @"LaunchImage-700-568H" ؛} آخر إذا (screenheight == 667) {// 6 ، 6slaunchimagename = @"LaunchImage-800-667h" ؛ @"LaunchImage-800-Landscape-736H" ؛} if (LaunchImagename.length <1) return ؛ // صورة بدء تشغيل الجهاز هي صورة خلفية وحدة التحكم uiimage *img = [uiimage imageenamed: launchImagename] ؛ self.view.backgroundColor = [uicolor colorwithpatternimage: img] ؛ }اطبع جميع معلومات صورة بدء التشغيل التي تدعم حاليًا فقط أجهزة iPhone ويدعم فقط مشاهد الشاشة الرأسية:
/** طباعة جميع معلومات اسم صورة بدء التشغيل في التطبيق*/- (void) printalllaunchimageinfo {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary] ؛ // احصل على جميع معلومات صورة بدء التشغيل nsarray *LaunchImagesarr = infodict [@"uilaunchimages"] ؛ nslog (@"LaunchImagesArr: ٪@" ، LaunchImagesArr) ؛ ! uilaunchiMinimOmosversion = "8.0" ؛ "LaunchImage-800-66h" ؛ 480} "؛} ، {uilaunchimageminimOmosversion =" 7.0 "؛ uilaunchimagename =" LaunchImage-700-568H "؛ uilaunchimagoRientation = portrait ؛ uilaunchimagesize =" {320 ، 568} "؛}) */} رأيت أنه يمكن الحصول على أيقونة Appicon وبدء تشغيل صورة بدء التشغيل من [[nsbundle mainbundle] infodictionary]. كما أنه يحتوي على معلومات أخرى حول التطبيق ، مثل الإصدار واسم التطبيق ونوع الجهاز واتجاه الدعم. . .
اطبع جميع المعلومات لترى:
/** معلومات تكوين مشروع تطبيق تطبيق*/- (void) printInfodictionary {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary] ؛ nslog (@"٪@" ، infodict) ؛ /* سجل الطباعة: {buildMachineOsBuild = 15g31 ؛ cfbundledevelopmentregion = en ؛ cfbundleExecutable = tantest ؛ cfbundleicons = {cfbundleprimaryicon = {cfbundleiconfiles = (appicon29x29 ، appicon40x40 ، appicon60x60) ؛ } ؛ } ؛ cfbundleidentifier = "net.tan.xxx" ؛ cfbundleinfodictionaryversion = "6.0" ؛ cfbundleinfoPlisturl = "info.plist - File: /// user/px/library/developer/coreimulator/devices/7020368b-c160-42c0-b3c5-5f958fa82 EF5/بيانات/حاويات/حزمة/تطبيق/77D8C333-A6AF-4183-B79A-A5BEDCD08E1A/TANTEST.APP/"؛ cfbundlename = tantest ؛ cfbundlenumericversion = 16809984 ؛ cfbundlepackageType = appl ؛ cfbundleshortversionsTring = "1.0" ؛ cfBundLesIngUrature = "؟؟؟؟؟" ؛ 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 ؛ الحد الأدنى = "6.0" ؛ uidevicefamily = () ؛ uilaunchimageFile = LaunchImage ؛ uilaunchImages = ({uilaunchimageminimOmosversion = "8.0" ؛ uilaunchimagename = "LaunchImage-800-portrait-736h" ؛ uilaunchimageorientation = portrait ؛ uilaunchimagename = "LaunchImage-800-landscape-73h" ؛ = Portrait; UILaunchImageSize = "{375, 667}"; }, { UILaunchImageMinimumOSVersion = "7.0"; UILaunchImageName = "LaunchImage-700"; UILaunchImageOrientation = Portrait; UILaunchImageSize = "{320, 480}"; }, { UILaunchImageMinimumOSVersion = "7.0" ؛ uilaunchstoryboardName = شاشة إطلاق ؛ uimainstoryboardfile = main ؛ uirequiredDeviceCapabilities = (ARMV7) ؛ uisupportedInterfaceorientations = (UiInterfaceorientationPorTrait) ؛ } */} --------- بعد ذلك ، دعونا نلقي نظرة على كيف يشبه Appicon و LaunchImage وكيفية الحصول عليها عندما يدعم التطبيق أجهزة iPhone و iPad ، بالإضافة إلى شاشات أفقية ورأسية.
أولاً ، أضف صورتين ، ثم أضف رمز الاختبار:
رمز الاختبار:
1. احصل على جميع أسماء أيقونة Appicon
/** دعم iPhone و iPad ، احصل على أيقونة أيقونة التطبيق */- (void) getAppiconname {nsdictionary *infodict = [[nsbundle mainbundle] infodictionary] ؛ // احصل على جميع أسماء الأيقونات في التطبيق nsarray *iconsarr = infodict [@"cfbundleicons"] [@"cfbundleprimaryicon"] [@"cfbundleiconfiles"] ؛ // احصل على اسم الأيقونة الأخير nsstring *iconlastName = [iconsarr lastObject] ؛ // اطبع اسم الأيقونة nslog (@"iconsarr: ٪@" ، iconsarr) ؛ nslog (@"iconlastName: ٪@" ، iconlastName) ؛ / * يتم استخدام سجلات الطباعة (29pt و 40pt iPhone و iPad ؛ 60pt --- iPhone ، 76pt و 83.5pt --- iPad): Iconsarr: (Appicon29x29 ، Appicon40x40 ، Appicon60x60 ، Appicon76x76 ، "Appicon83.5x83.5") 2. احصل على صورة بدء التشغيل عند دعم تطوير iPhone و iPad ، ويدعم شاشات أفقية ورأسية ، وتعيينها كرمز صورة للخلفية.
(يحتوي جهاز iPhone فقط على مجموعتين من الصور على Plus ، أي 5.5 بوصة ، والشاشات الأخرى 4 و 5 و 6 تشترك في صورة بدء التشغيل)
/** دعم iPhone و iPad ، ودعم الشاشات الأفقية والرأسية ، واحصل على اسم صورة بدء التشغيل للتطبيق وقم بتعيينه على صورة الخلفية الخاصة بـ Controller*/- (void) getLaunchImagename {nsString*launchImagename = @"" ؛ // ابدأ اسم الصورة المتغير cgfloat screenheight = [uiscreen mainscreen] .bounds.size.hight ؛ // ارتفاع الشاشة cgfloat screenwidth = [uiscreen mainscreen] .bounds.size.width ؛ // عرض الشاشة // اتجاه واجهة الجهاز اتجاه UIINTERFACEORIENTINATION = [UIAPPLICATION SHAREDAPPLICATION] bool isPorTrait = uiInterfaceorientationisporTrait (اتجاه) ؛ // سواء كان لديك شاشة عمودية Bool Islandscape = uiinterfaceorientationislandscape (الاتجاه) ؛ // أين يمكن أن يكون لديك شاشة أفقية//شاشة شاشة واحدة) ||. } // 5 ، 5C ، 5S ، شاشة iPod العمودية ، الشاشة الأفقية أخرى إذا ((ISPorTrait && sclemeight == 568) || (Islandscape && screenwidth == 568)) {launchImagename = @"launchimage-700-568h" ؛ } // 6 ، 6S الشاشة العمودية ، الشاشة الأفقية أخرى إذا ((ISPorTrait && scownheight == 667) || (Islandscape && screenwidth == 667)) {launchimagename = @"launchImage-800-667H" ؛ } // 6Plus ، 6Splus الشاشة العمودية أخرى إذا (ISPorTrait && screkheight == 736) {launchImagename = @"launchImage-800-portrait-736H" ؛ } // 6Plus ، 6Splus أفقي الشاشة الأخرى إذا (IslandScape && screenwidth == 736) {launchImagename = @"launchImage-800-Landscape-736H" ؛ }. } // شاشة ipad الأفقية أخرى إذا (Zandscape && screenwidth == 1024) {launchImagename = @"LaunchImage-700-Landscape" ؛ } if (LaunchImagename.length <1) return ؛ . self.view.backgroundColor = [uicolor colorwithpatternimage: img] ؛}3. طباعة جميع معلومات صورة بدء التشغيل
/** طباعة جميع معلومات اسم صورة بدء التشغيل في التطبيق*/- (void) printalllaunchimageinfo {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary] ؛ // احصل على جميع معلومات صورة بدء التشغيل nsarray *LaunchImagesarr = infodict [@"uilaunchimages"] ؛ nslog (@"LaunchImagesArr: ٪@" ، LaunchImagesArr) ؛ ! uilaunchiMinimOmosversion = "8.0" ؛ "LaunchImage-800-66h" ؛ 480} "؛} ، {uilaunchimagememinimOmosversion =" 7.0 "؛ uilaunchimagename =" launchimage-700-568h "؛ = "LaunchImage-700-portrait" ؛ uilaunchimagesize = "{768 ، 1024}" ؛ } ، {uilaunchimagememinimOmosversion = "7.0" ؛ uilaunchimagename = "LaunchImage-700-Landscape" ؛ uilaunchimageorientation = المناظر الطبيعية ؛ uilaunchimagesize = "{768 ، 1024}" ؛ }) */} 4. طباعة جميع معلومات التكوين
/** معلومات تكوين مشروع تطبيق تطبيق*/- (void) printInfodictionary {nsdictionary*infodict = [[nsbundle mainbundle] infodictionary] ؛ nslog (@"٪@" ، infodict) ؛ /* سجل الطباعة: {buildMachineOsBuild = 15g31 ؛ cfbundledevelopmentregion = en ؛ cfbundleExecutable = tantest ؛ cfbundleicons = {cfbundleprimaryicon = {cfbundleiconfiles = (Appicon29x29 ، Appicon40x40 ، Appicon60x60 ، Appicon76x76 ، "Appicon83.5x83.5") ؛ } ؛ } ؛ cfbundleidentifier = "net.tan.xxx" ؛ cfbundleinfodictionaryversion = "6.0" ؛ cfbundleinfoPlisturl = "info.plist - File: /// user/px/library/developer/coreimulator/devices/3246f9ae-1d73-4e4f-8ddf-f591dbe64 F63/بيانات/حاويات/حزمة/تطبيق/7DD6C793-F882-43CF-9897-1433411289E6/TANTEST.APP/"؛ cfbundlename = tantest ؛ cfbundlenumericversion = 16809984 ؛ cfbundlepackageType = appl ؛ cfbundleshortversionsTring = "1.0" ؛ cfBundLesIngUrature = "؟؟؟؟؟" ؛ 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 ؛ الحد الأدنى = "9.0" ؛ uidevicefamily = (1 ،) ؛ uilaunchimageFile = LaunchImage ؛ uilaunchImages = ({uilaunchimageminimOmosversion = "8.0" ؛ uilaunchimagename = "LaunchImage-800-portrait-736h" ؛ uilaunchimageorientation = portrait ؛ uilaunchimagename = "LaunchImage-800-landscape-73h" ؛ = 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 = Portrait ؛ uilaunchimagename = "LaunchImage-700-Landscape" ؛ uilaunchimageorientation = المناظر الطبيعية ؛ uilaunchimagesize = "{768 ، 1024}" ؛ }) ؛ uilaunchstoryboardName = شاشة إطلاق ؛ uimainstoryboardfile = main ؛ uirequiredDeviceCapabilities = (ARMV7) ؛ uisupportedInterfaceorientations = (UiInterfaceorientationPorTrait ، UiInterfaceorientationlandslandscapeleft ، uiinterfaceorientationlandscapercaperight) ؛ }*/}ما ورد أعلاه هو اسم iOS Appicon و LaunchImage (أيقونة التطبيق وإطلاق صورة الصورة) المقدمة من المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!