数组不加载从After Effects导出的PNG:ios,xcode

时间:2012-09-12 20:55:03

标签: objective-c ios arrays image after-effects

我们的平面设计师正在向我们发送.PNGs名称为“hide_00~iphone.png”,“hide_00 @ 2X~iphone.png”等

他正在从后效果中导出图像。我将它们添加到项目中并尝试将它们加载到init上的数组中。每次为他的所有文件抛出异常。现在,如果我进入并将查找器中的文件重命名为完全相同的名称,那么一切都很好。我不知道这里发生了什么。在重命名之前,Xcode无法在文件系统中找到它们。但这个名字与他寄给我的名字完全相同。我检查了文件命名周围的空白区域,但一切都很好。

有人知道After Effects是否会在图片中添加奇怪的标题信息吗?或者对任何人来说这听起来都很熟悉。我们正在处理一大堆图像,我不想手工重命名。

1 个答案:

答案 0 :(得分:2)

所以我只使用了imageNamed并且图像加载得很好。显然,按路径/名称加载图像的例程是有缺陷的。您可以发布它并进行评估 - 但这与'After Effects'无关。

编辑:为了记录,我的系统是Lion Xcode 4.4.1,我的项目设置为iOS 5.1。我从dropbox中取出你的文件,并验证在我的项目中我可以像你想要的那样加载图像:

for (int i = 6; i < 7; i++) {
    NSString *path = [NSString stringWithFormat:@"hide_step_seq_%02d", i];
    UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:path  ofType:@"png"]];
    NSLog(@"PATH %@ image=%@", path, image);
}
2012-09-13 07:15:23.241 Searcher[58114:f803] PATH hide_step_seq_06 image=<UIImage: 0x6a4cb30>

那么,从哪里开始呢?我试图帮助几个被@ 2x或~iphone后缀烧伤的人。出于某种原因,有些人似乎无法让这个工作 - 我能想到的是系统中有一些标记可以切换,并且没有办法解决它。

我的建议是尝试使用实际的完整文件名 - 尝试附加~iphone并查看是否有效。

你也可以在终端做一个'ls * .png | od -c'在更改名称之前和之后,验证绝对字符是否相同。

我对此的最后一个想法是文件有许多属性:创建时间,上次访问,最后修改,扩展属性,权限等。有可能(虽然不太可能)由于某种原因,其中一个值阻止系统试图使用~iphone后缀。

我真的希望我能帮助你。如果你想把一个简单的小项目放在一起,除了尝试打开一些图像并且它失败了,将整个项目压缩,放在dropbox上,我更愿意在我的系统上运行它来尝试并复制问题。你也可以像我在上面的代码中那样做,并验证路径看起来很好,图像是零。