我正在使用Unique Identifier extension of UIDevice,因为旧的uniqueIdentifier已被弃用。我很确定它几天前就有效了。现在,当它在代码[[UIDevice currentDevice] uniqueDeviceIdentifier]
中运行时,它会返回运行时错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIDevice uniqueDeviceIdentifier]: unrecognized selector sent to instance 0x8370a90
我已将#import "UIDevice+IdentifierAddition.h"
所需的添加内容导入到UIDevice中。我也尝试过使用其他扩展类,它也不适用于那些。我尝试在模拟器和iPhone上运行,两者都有相同的结果。但是,当我在它提供的示例项目中使用这些添加时,它可以工作。
有什么想法吗?是否有可能以某种方式禁用了子类化cocoa类?
答案 0 :(得分:1)
您确定您的项目包含该导入文件的正确版本吗?有时当您从其他地方下载代码并将其添加到项目中时,您不会执行实际的副本,并且在某些时候您的源代码控制会混淆并使用错误的版本。
转到项目导航器中的NSString + MD5Additions.m文件,右键单击,在Finder中显示。然后看一下这个内容并确保它是正确的。
此外,转到项目,构建阶段,编译源代码,查找文件,鼠标右键和在Finder中显示。确保这与项目中的文件相同,并且声明了正确的方法。