如何让Xcode指向错过的图像

时间:2014-02-05 15:27:25

标签: xcode

Move Folder with images这个问题之后。

我按照步骤进行操作,除了几件事之外一切正常。

在将它们复制到IDE时似乎错过了几张照片, 然而在模拟器中一切正常,但在真实设备上我错过了一些图片。

我有超过100张图片,这将是一个2天的工作去1by1并检查它是否被正确复制,是否有任何方式让Xcode指出他错过了什么图像?因为它没有说什么没有警告没有任何错误,只是在设备上没有图片。

1 个答案:

答案 0 :(得分:2)

您可以使用objective-c运行时使用您自己的实现来调出imageNamed:,以检查图像是否已成功加载。

#import <objc/runtime.h>

@implementation UIImage (Debugging)

#if DEBUG

+ (void)load {
    //Exchange imageNamed: implementation
    method_exchangeImplementations(class_getClassMethod(self, @selector(imageNamed:)),
                                   class_getClassMethod(self, @selector(imageNamedDebug:)));
}

+ (UIImage *)imageNamedDebug:(NSString *)name {
    UIImage *image = [self imageNamedDebug:name]; // swizzled! actually calls original `imageNamed:` method
    if (!image) {
        NSLog(@"Can't load image with name \"%@\"", name);
    }
    return image;
}

#endif

@end

另外:如果它在模拟器上运行而不在设备中,那么您的fileNames可能会出现问题。模拟器通常在不区分大小写的文件系统上运行(即File.jpg与file.JPG相同),设备运行区分大小写的文件系统,这两个文件不同。所以检查你的文件名。