有时候我们在项目中可能会使用到 APP 的 Logo 图片(App icon)和启动页图片,所以这时如果我们使用的是 xcassets 来设置Logo 图片(App icon)和启动页图片的话,我们在程序中就可以直接使用:
- 获取 Logo(App icon)
NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary];
NSArray *icons = [infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"];
// icons 获取到的就是当前设备使用的 Logo 图片名称,这时我们需要使用的话,则获取其中的图片。
- 获取启动页图片
NSArray *lauchImages = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
// lauchImages 获取到的就是项目中使用的启动页图片
// 我们可以遍历这个数组,然后和当前设备的尺寸比较,得到当前设备的启动页图片
for (NSDictionary *dic in lauchImages) {
/* *字典中 key 的含义:
* UILaunchImageSize:启动页图片大小
* UILaunchImageOrientation:启动页图片支持的屏幕方向(Portrait:竖屏;Landscape:横屏)
* UILaunchImageName:图片名字
**/
CGSize imageSize = CGSizeFromString(dic[@"UILaunchImageSize"]);
if (CGSizeEqualToSize(imageSize, UIScreen.mainScreen.bounds.size)) {
// 当前设备的启动图
// 如果项目支持横屏和竖屏的话,可以再通过“UILaunchImageOrientation”判断
}
}