imageNamed在iOS 7上返回nil但在iOS 8上不返回nil

ale*_*mix 1 iphone objective-c ios ios7 ios8

我有各种时间间隔的图像.一个例子是"1.5d-4h.png",也就是4小时到1.5天之间.我为每个区间图像定期提供@ 2x和@ 3x资源,并且我确保它们都是PNG(不是JPG),但由于某些原因,某些间隔图像无法imageNamed仅通过iOS 7加载.iOS 8设备正确加载所有可能的间隔图像.

从一些进一步的测试看起来像在iOS 7上,如果你完全符合名称,imageNamed它就能成功地使用所有这些图像,例如

(lldb) po [UIImage imageNamed:@"1.5d-4h.png"]
<UIImage: 0x7ec390>

(lldb) po [UIImage imageNamed:@"1.5d-4h"]
 nil
Run Code Online (Sandbox Code Playgroud)

在iOS 7和8上成功加载的图像示例:

(lldb) po [UIImage imageNamed:@"10-9d"]
<UIImage: 0x10cc290>
Run Code Online (Sandbox Code Playgroud)

这是完整的时间间隔:

@"4h-0min"
@"1.5d-4h"   // fails
@"4.5-1.5d"  // fails
@"5.5-4.5d"  // fails
@"7-5.5d"    // fails
@"9-7d"
@"10-9d"
Run Code Online (Sandbox Code Playgroud)

有什么建议?

dud*_*man 6

看起来所有的图像名称都带有'.' 在他们无法加载.

尝试逃避'.' 字符或重命名图像没有'.' 他们名字中的人物.