资产目录,图像未在设备上加载,但在模拟器中很好
Posted
技术标签:
【中文标题】资产目录,图像未在设备上加载,但在模拟器中很好【英文标题】:asset catalog, images not loading on device, but fine in simulator 【发布时间】:2013-10-08 18:51:03 【问题描述】:我设置了三个资产文件夹,一个名为 Images,其中包含应用程序图标和启动图像,一个名为 Puzzles,一个名为 ThumbPuzzle。
在模拟器上测试时,图片都加载正常,在设备上测试时,图片不加载,控制台出现以下错误。
mmap: 无法分配内存
错误:CUICommonAssetStorage -initWithPath:在 /var/mobile/Applications/6DF65069-9ED2-4EE8-966A-5B63CBF36136/Puzzle 找不到存储文件 Mania.app/Assets.car
我知道图像的名称是正确的,因为我从目录中复制了它们的名称。我正在使用以下内容加载图像
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
pm_PuzzleCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
PM_Puzzle *puzzle = [self.frcPuzzles objectAtIndexPath:indexPath];
cell.puzzle = puzzle;
return cell;
以及 pm_PuzzleCell 中的以下内容
-(void) setPuzzle:(PM_Puzzle *)puzzle
if(_puzzle != puzzle)
_puzzle = puzzle;
[self.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"Thumb%@", [puzzle puzzleImage]]]];
【问题讨论】:
【参考方案1】:可能xcassets
太大了。
或者更好的是,xcassets
中的图像太大,xcode 无法加载。
mmap: 无法分配内存
我删除了 Resource 文件夹中的 xcasset
动态图像并且效果很好。
【讨论】:
添加到资源文件夹然后导入到资产目录工作,只是没有将应变导入到目录中【参考方案2】:通过将资源导入项目,然后将它们导入资产目录,可以避免该问题。将它们直接导入目录不起作用
【讨论】:
以上是关于资产目录,图像未在设备上加载,但在模拟器中很好的主要内容,如果未能解决你的问题,请参考以下文章
图像未在 iPad Air、iPad 3 等较新的 iPad 设备上显示,但在模拟器 iOS 8.1 上显示
iPhone 核心数据 - 获取的托管对象未在设备上发布(在模拟器上很好)
React Native-本地映像在模拟器中运行得很好,但在发行后却没有]]