如何把图片资源打包成bundle文件及遇到的坑

2019-10-02 17:23 来源:未知

图片 1

第一步:

找到如图所示:

图片 2

图片 3

image

输入所创办的图片库名称

第二步:

图片 4

图片 5

"Base SDK" 设置为 "Latest iOS " (Xcode 9.2为例)

image

"Build Active Architecture Only" 设置为 "YES"

第三步:

图片 6

"Base SDK" 设置为 "Latest iOS (iOS 11.2)" (Xcode 9.2为例)

Installation Directiotory 删除掉后边的门径

"Build Active Architecture Only" 设置为 "YES"

图片 7

Installation Directiotory 删除掉后边的门路

Code Signing Identity 选择 Don't Code Sign

Code Signing Identity 选择 Don't Code Sign

图片 8

"iOS Deployment Target" 设置为 iOS 8.0 (为了宽容性,最佳接纳最低版本)

"iOS Deployment Target" 设置为 iOS 8.0 (为了宽容性,最佳采用最低版本)

"Skip Install" 设置为 "NO"

图片 9

"Strip Debug Symbols During Copy" 中"Release"方式设置为 "YES"

"Skip Install" 设置为 "NO"

"IOS Deployment Target" 设置为 "iOS 8.0"

图片 10

"COMBINE_HIDPI_IMAGES" 设置为 "NO"

"Strip Debug Symbols During Copy" 中"Release"形式设置为 "YES"

Enable Bitcode 设置NO

图片 11

第四步:

"COMBINE_HIDPI_IMAGES" 设置为 "NO"

图片 12

图片 13图片 14

image

第五步:
模拟器,真机 各运营一遍

图片 15

图片 16

image

图片 17

第六步:
show in finder 收取真机中的 bundle

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50,50)];

UIImage *image = [UIImage imageNamed:@"Image.bundle/Add.png"];

[imgView setImage:image];

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50,50)];

NSString *bundlePath = [[ NSBundle mainBundle] pathForResource:@"Image" ofType :@"bundle"];

NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];

NSString *imgPath = [bundle pathForResource:Add ofType:@"png"];

UIImage *image=[UIImage imageWithContentsOfFile: imgPath];

[imgView setImage:image];

图片 18

因为是和SDK一同让其余小卖部共用的,没悟出各个App打包上传都战败了,首要有以下三种提醒:

image

图片 19图片 20图片 21

使用:

有比很多化解办法,小编用的是最简便的形式:正是删除bundle里的进行文书:找到工程中的Image.Bundle,右键单击后 选用 "突显包内容",找到里面包车型地铁info.plist文件 ,删除掉Executable file 字段,重新包装,上传应用商号就足以了。

NSString * bundlePath = [[ NSBundle mainBundle] pathForResource: @ "MyBundle"ofType :@ "bundle"];

NSBundle *resourceBundle = [NSBundle bundleWithPath:bundlePath];

UIViewController *vc = [[UIViewController alloc] initWithNibName:@"vc_name"bundle:resourceBundle];
图片得到bundle中的能源

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50,50)];

UIImage *image = [UIImage imageNamed:@"MyBundle.bundle/img_collect_success"];

[imgView setImage:image];
或者

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50,50)];

NSString *bundlePath = [[ NSBundle mainBundle] pathForResource:@"Test" ofType :@"bundle"];

NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];

NSString *img_path = [bundle pathForResource:imageName ofType:@"png"];

UIImage *image_1=[UIImage imageWithContentsOfFile:img_path];

[imgView setImage:image_1];
道理当然是那样的,能够写成预编写翻译语句:

define MYBUNDLE_NAME @ "MyBundle.bundle"

define MYBUNDLE_PATH [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: MYBUNDLE_NAME]

define MYBUNDLE [NSBundle bundleWithPath: MYBUNDLE_PATH]

假诺将团结包装的bundle给人家利用,外人在打包上传进程中大概会遭受错误提醒如:

网络也是有那四个的化解办法,这里提供一种缓和办法,就是去除bundle里的实践文书:找到工程中的Test.Bundle,右键单击后 选取"展现包内容",找到里面棕色的可实践文件Test,删除掉,然后找到里面包车型大巴info.plist文件 ,删除掉Executable file 字段,重新包装,上传应用商铺就足以了。

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于编程教学,转载请注明出处:如何把图片资源打包成bundle文件及遇到的坑