2010-12-12 100 views
4

總體而言,我的應用程序適用於所有iOS設備,但是我具有僅適用於iPhone 4的功能,因此如果用戶沒有iPhone 4我想顯示警告,讓他們知道此功能在他們的設備上不起作用?如何確定在iOS設備上是否有相機閃光燈

我該怎麼做?

我試圖檢查設備具有相機閃光燈

+0

你需要什麼特定功能? – 2010-12-12 21:40:58

+0

我需要相機閃光燈才能使用此功能 – cgossain 2010-12-12 21:47:19

+0

我已更新我的答案。希望這可以幫助。 – 2010-12-12 21:49:35

回答

8

您是否嘗試過各種方法UIDevice?也就是說,最有可能的一種更簡單的方法,取決於您的可選功能需要什麼特定功能,但不知道這是什麼很難給出具體的例子。

N.B .:爲了未來兼容性的原因,我還建議不要根據檢測到的設備本身來推測功能集。

UPDATE

在相機閃光燈而言,我知道你可以使用UIImagePickerController的isFlashAvailableForCameraDevice:方法。 (您可能想在通過isCameraDeviceAvailable:方法首次驗證相機的存在性後調用此方法。)

+0

檢查特定設備幾乎從不是正確的答案,您通常應該檢查是否存在某個功能。 – kubi 2010-12-12 21:42:15

+0

@Kuba - 是的,編輯我的答案,準確地說,當你離開你的信息,這就是爲什麼我問OP關於我的評論附加到問題。 :-) – 2010-12-12 21:46:10

+0

我試圖檢查他們是否有相機閃光燈 – cgossain 2010-12-12 21:46:40

2

您不需要知道正在運行的設備,請檢查您的功能想要使用可用,如果不是,則顯示警報。

如果您讓我們知道您要查找的具體功能,我們可以幫助您查找該功能的具體方法。

雖然,我自己的意見在這裏,彈出一個對話框,說:「如果你有一個較新的手機,你就能夠做到這個!」其實只是撫摩你的用戶的臉在事實他們有一部較舊的手機,現在不是嗎?處理它的一個更好的方法是1)在你的AppStore頁面中明確指出某些功能在非iPhone 4手機上不可用; 2)使你的應用在非iPhone 4s上的行爲優雅地退化。

+0

我試圖檢查他們是否有相機閃光燈 – cgossain 2010-12-12 21:46:02

+0

+1必須同意 - 告訴用戶他們不能做的事情沒有太大的價值。這在市場營銷中最好處理。 – 2010-12-12 21:52:23

10

如果你不使用UIImagePicker

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
BOOL hasFlash = [device hasFlash]; 

還有一個[device hasTorch]如果你需要它。

相關問題