使用'FLT_EPSILON'用于64位iPhone 5S

Gan*_*ham 7 64-bit cocoa-touch objective-c ios7

尝试使用XCode 5构建项目时出现以下错误.

Use of undeclared identifier 'FLT_EPSILON'
Run Code Online (Sandbox Code Playgroud)

我检查过,FLT_EPSILON(在Xcode中显示为褐色)在"float.h"文件中定义.

我究竟做错了什么?


这是使用FLT_EPSILON的代码:

if (someTimeInterval < 0.03 - FLT_EPSILON) {
    someTimeInterval = 0.1;
}
Run Code Online (Sandbox Code Playgroud)

我发现这是因为我试图在iPhone 5S模拟器(64 BIT)上测试它.

我不太了解使用64位模拟器时的差异.我应该包括什么而不是FLT_EPSILON - 为什么它不适用于64位?

Gan*_*ham 1

我不知道为什么这不适用于 64 位设备。

但这是解决方案:

确保 MobileCoreServices.framework 已安装,然后它应该可以正常工作

进口<MobileCoreServices/MobileCoreServices.h>