首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作iOS资产包?

如何制作iOS资产包?
EN

Stack Overflow用户
提问于 2011-02-03 23:41:22
回答 7查看 57.3K关注 0票数 58

我在评估过的iOS项目中看到了一个自定义资产包,所以至少我知道这是可能的。

我的问题是,对于给定的镜像,我使用的CATiledLayer大约有22,000个瓦片,编译它需要很长的时间(半个小时干净的构建,5-10分钟的常规构建)。所以,我想把所有的图片做成一个自定义的包,让它变得可移植,希望不会每次都重新编译到应用包中。

我该怎么做呢?我检查了文档,但没有看到关于如何实际创建包的解释。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-12 03:32:39

答案非常简单

在finder中创建一个文件夹,向其中添加文件,将其重命名为bundlename.bundle

拖动到Xcode - success!

要进行访问,请使用PathToMainBundle+"/bundlename.bundle“形式

票数 105
EN

Stack Overflow用户

发布于 2014-05-27 16:26:28

如何创建捆绑包

  1. 在finder中创建一个文件夹。
  2. 将文件添加到该文件夹
  3. 重命名该文件夹,使其扩展名为.bundle (例如"New folder“-> "BundleName.bundle")

PS:你可以在任何时候右击文件夹,点击“显示包内容”来添加,删除或修改任何文件。

如何将捆绑包添加到Xcode

  1. 将其拖到Xcode

如何使用捆绑包

代码语言:javascript
复制
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"BundleName" ofType:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:bundlePath]; 
NSString *resource = [bundle pathForResource:@"fileName" ofType:@"fileType"];

(将BundleNamefileNamefileType替换为适当的名称)

票数 40
EN

Stack Overflow用户

发布于 2011-11-19 20:50:01

另外两条有用的建议:

首先,为了在Xcode中查看bundle的内容,您需要在File Inspector Utility窗格中将其类型设置为"Application Bundle“。您仍然不能通过Xcode来回复制。您需要使用Terminal,但Xcode会立即更新它。

其次,为了使用捆绑包中的资源,这里有一个有用的代码片段...

代码语言:javascript
复制
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"AquarianHarp" ofType:@"bundle"];
NSString *imageName = [[NSBundle bundleWithPath:bundlePath] pathForResource:@"trebleclef2" ofType:@"png"];
UIImage *myImage = [[UIImage alloc] initWithContentsOfFile:imageName];

正如我在上面的评论中提到的,你不需要实际加载捆绑包(你不能这样做,因为它不是可执行的),ofType需要与你的实际文件的大小写相匹配,才能在设备上工作。它可以在模拟器中以任何一种方式工作,所以不要被这个转移注意力的问题所蒙蔽!

最后,您不需要将资源放在捆绑包内的" resources“子文件夹中。看起来你可以使用任意的布局,但可能会有未知的性能影响。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4888208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档