在iOS中加载资产

菲尔

我正在开发一款游戏,到目前为止,我像往常一样在XCode项目中拥有资产,但是我想知道是否可以在运行时加载它们,但我不知道该怎么做。我正在使用parse.com服务,因此实际上可以在线存储资产并加载它们,但是对于正在编译的项目该如何工作?还是XCode项目知道资产在加载后实际上是程序的一部分?

阿玛

当资产成为应用程序捆绑包的一部分时,它们的总和就是IPA文件的大小。在OTA的情况下,IPA的大小很重要。当前OTA大小限制为50MB对于游戏,资产大小通常可能会达到数百MB,这将限制从应用程序商店下载OTA。

因此,应用程序会在游戏首次运行时下载所需的资产,并将其存储在磁盘上。对于这种方法,应用程序需要使用恢复功能(用于错误处理或部分下载方案)和缓存技术来实现资产下载模块。

捆绑资产
要访问捆绑资源,您需要使用类似于以下内容的代码

NSString *imgBundlePath=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"someimage.png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imgBundlePath];

下载的资产
当应用程序从服务器下载资源时,下载的文件需要存储在应用程序目录中。它们无法存储在捆绑软件中,因为一旦安装在设备上便是只读的。要访问这些文件的代码是

// Assuming downloaded assets are stored in NSCachesDirectory
NSArray *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *imgPath = [[cachePath lastObject] stringByAppendingPathComponent:@"someimage.png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imgBundlePath];

希望我回答了你的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章