说来惭愧,虽然已经创建过好几次了,但是偶尔还是会忘记步骤,所以在这里记录一下子,方便查阅。
简单来说,bundle就是一个文件,里面包含很多资源子文件,例如图片,音频,视频等。这些子文件是静态的,不参与编译。
创建及设置
创建bundle
创建bundle项目
将base sdk改成iOS样式,默认是macOS样式
设置平台版本
将COMBINE_HIDPI_IMAGES设置为NO,否则打包完成之后的png图片将变为tiff格式
设置COMBINE_HIDPI_IMAGES为NO
添加多语言
添加文字文件,文件名字为Localizable.strings
添加多语言文件
文件本地化,点击按钮后选择english
文件本地化
添加其他语言类型,例如chinese-simplified
[图片上传失败...(image-ce856c-1557800232722)]
添加图片等文件资源
目前我的操作是将这些文件直接拖到项目中
如何调用bundle里面的资源
将bundle拖到项目中,并且添加到build phases的Copy Bundle Resource中
图片类资源
UIImage *image = [UIImage imageNamed:@"bundleName/picName"]
bundleName: 包名
picName: 图片名
语言本地化
NSURL *url = [[NSBundle mainBundle] URLForResource:@"bundleName" withExtension:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithURL:url];
NSString *language = [NSLocale preferredLanguages].firstObject;
bundle = [NSBundle bundleWithPath:[bundle pathForResource:language ofType:@"lproj"]];
NSString *value = [bundle localizedStringForKey:key value:key table:nil];
bundleName:包名