iPhone亮度私有API工作不正常

iPhone亮度私有API工作不正常,iphone,objective-c,brightness,iphone-privateapi,Iphone,Objective C,Brightness,Iphone Privateapi,我试图设置背光的亮度,但它的行为非常奇怪。我正在使用私有API: [(id)[UIApplication sharedApplication]setBacklightLevel:1.0f] 然而,当我打电话给它时,屏幕变暗,不像我想象的那样100%明亮。我用各种数字对此进行了测试,以下是我得到的结果: 0.2:暗 0.3:光 0.4:暗 0.5:暗 0.6:轻 0.7:暗 0.8:暗 0.9:暗 1.0:黑暗 1.1:黑暗 1.2:光 1.3:黑暗 1.4:黑暗 1.5:光 一些值比最暗的值稍亮

我试图设置背光的亮度,但它的行为非常奇怪。我正在使用私有API:

[(id)[UIApplication sharedApplication]setBacklightLevel:1.0f]

然而,当我打电话给它时,屏幕变暗,不像我想象的那样100%明亮。我用各种数字对此进行了测试,以下是我得到的结果:

0.2:暗

0.3:光

0.4:暗

0.5:暗

0.6:轻

0.7:暗

0.8:暗

0.9:暗

1.0:黑暗

1.1:黑暗

1.2:光

1.3:黑暗

1.4:黑暗

1.5:光


一些值比最暗的值稍亮,但这是总体趋势。这种模式似乎没有任何意义。有人知道亮度应该在什么刻度上吗?

问题是编译器不知道方法采用浮点,除非您声明它。因此,当您传递时,传入的浮点将转换为另一种类型,然后该方法将新的位模式重新解释为浮点。您只需要在文件知道的头文件中声明方法,浮点值将不受更改地传递。

我无法回答您的问题,但我希望提请您注意,苹果不允许使用私有API(包括此API)的应用程序进入App Store。如果你已经意识到这个问题,我向你道歉,但我认为这可能会节省你的时间,如果你没有:)是的,我意识到这一点。我不打算将其发布到应用商店。只是想检查一下:您是否有一个标题将此方法声明为采用浮动?编译时是否有任何警告?我发现一个
-(void)setBacklightFactor:(int)fp8,也许这很重要?我还没有尝试过这个,所以我还没有把它作为一个答案发布。Chuck,我不认为这会有什么不同(我必须为-brightnessLevel声明方法,但不必为-setBrightnessLevel声明方法,所以我认为它已经解决了),但它确实解决了!谢谢将此作为答案提交,以便我可以接受。