2009-11-22 59 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