2009-11-22 87 views
1

我周围搜索了一种方法来设置iPhone上的应用程序背光级别。我发现了一个解决方案在这里:更改背光级别,iPhone

http://www.iphonedevsdk.com/forum/29097-post3.html

我的问题是,当我加入这个在我的应用我得到一个错误和警告。我的代码如下:

#include "GraphicsServices.h" 

- (void) viewWillAppear:(BOOL)animated 
{ 

NSNumber *bl = (NSNumber*) CFPreferencesCopyAppValue(CFSTR("SBBacklightLevel"), CFSTR("com.apple.springboard")); 
previousBacklightLevel = [bl floatValue]; 
//Error here : incompatible types in assignment 

[bl release]; 

GSEventSetBacklightLevel(0.5f); 
// Warning here : implicit declaration of function 'GSEventSetBacklightLevel' 

} 

//...The rest of my app 

- (void)applicationWillTerminate:(UIApplication *)TheNameOfMyAppIsHere 
{ 
    GSEventSetBacklightLevel(previousBacklightLevel); 
} 

我不确定是什么导致了这种情况。我也真的不知道有什么需要在这里我.h文件中,但我有:

NSNumber *previousBacklightLevel; 

编辑//改变

NSNumber *previousBacklightLevel 

float previousBacklightLevel; 

的建议并在赋值错误中对不兼容类型进行排序。

现在只剩下:

“_GSEventSetBacklightLevel”,引用自:

- [MyAppViewController viewWillAppear中:在MyAppViewController.o

- [MyAppViewController applicationWillTerminate]在MyAppViewController.o

符号未找到

collect2:ld返回1退出状态

不知道如何解决这个问题!

任何帮助,将不胜感激,

//编辑

排序的所有问题。感谢所有帮助我的人。我真的很感激它,不能等到我能回头再回答一些问题。

非常感谢,

斯图

+0

所有问题排序。感谢所有帮助我的人。我真的很感激它,不能等到我能回头再回答一些问题。 – Stumf 2009-11-22 20:44:39

+0

可能的重复:http://stackoverflow.com/questions/4740261/iphone-brightness-private-api-not-working-properly – Max 2011-02-26 20:30:38

+0

私有API或没有,有没有办法改变iOS 4.2的背光级别?如果有人可能提供他们的私人API头等,这将是一个很大的帮助?希望利用节能的应用程序应该能够改变背光水平... – jcpennypincher 2011-02-26 04:11:05

回答

5

你得到一个警告的原因是因为GSEventSetBacklightLevel()在任何的SDK头不声明私有API。如果您打算将此内容提交给应用商店,那么您的应用将会被拒绝。如果这是一个越狱设备,您可以自己声明该功能。

void GSEventSetBacklightLevel(float level); 

你所得到的错误的原因是因为你试图分配一个浮动(这是一个标量)到NSNumber *。您可能想要将previousBacklightLevel更改为浮动。

+0

嗯,仍然无法让这个工作,你能给我更多的代码,所以我可以看到它应该看起来如何? – Stumf 2009-11-22 16:24:38

+0

你有什么不能上班?摆脱警告或解决错误? – 2009-11-22 17:36:20

+0

仍然无法摆脱错误:赋值中的不兼容类型,现在出现错误:参数1的 'GSEventSetBacklightLevel的不兼容类型。我添加了void GSEventSetBacklightLevel(float level);到GraphicsServices.h文件。这解决了警告。不知道如何解决我的错误。我的.h应该声明什么,在.m中有什么要改变的?究竟是什么需要改变为浮动?谢谢 – Stumf 2009-11-22 18:07:10

2

您可以通过强制拖加私人框架和/ 开发拖放到你的xcode项目/平台/ iPhoneOS.platform /开发商/软件开发工具包/ iPhoneOS4.2.sdk /系统/库/ PrivateFrameworks/GraphicsServices.framework并在您的导入#import "GraphicsServices.h"标题。h文件

+0

仍然收到错误。无法鳍'GraphicsServices.h'。 – Hemang 2016-05-22 09:11:32