2014-01-10 41 views

回答

2

不,你不需要任何特殊的庫。您可以使用AVFoundation.framework的公共API。使用AVCaptureSession,您可以在守護程序或調整中拍攝照片並錄製視頻。就我所知,即使在後臺使用普通的AppStore應用程序,您也可以做到這一點。

我已經完成了這兩個和iOS 5-6它就像那樣。在iOS 7 Apple受保護的麥克風和擁有權利的相機上。如果您嘗試在守護進程中訪問它們,您只會在嘗試捕獲照片,視頻或音頻時發生錯誤。沒有對話框會顯示。在控制檯中,您會看到一條消息,指出您無法訪問攝像頭或麥克風。

爲了解決這個問題,你需要給你的守護進程註冊特殊的權利。用數組值添加com.apple.private.tcc.allow鍵。然後在該數組中插入以下字符串項:kTCCServiceMicrophone,kTCCServiceCamera。它應該是一個

<key>com.apple.private.tcc.allow</key> 
<array> 
    <string>kTCCServiceMicrophone</string> 
    <string>kTCCServiceCamera</string> 
</array> 

如果你想拍攝照片/視頻/音頻輸入你只需要與權利簽署一個守護進程。如果你想在一個調整內做到這一點,你需要確定哪個應用程序將加載你的調整,因爲它是這個應用程序,需要與權利簽名。比方說,你想在SpringBoard的調整。只需用任何文本編輯器打開SpringBoard二進制文件並搜索<key>字符串即可。你會發現其中的權利將成爲我們需要的權利。幸運的是,iOS 7上的SpringBoard已經簽署了允許他使用相機和麥克風的權利。

+0

謝謝!這太酷了。我會在我的應用程序上嘗試AVFoundation。 – JohnSuu

+0

和我有另一個問題。我構建應用程序並運行它形式終端命令./test(應用程序的二進制文件),它printf出消息。但不要拍任何照片。我不知道爲什麼。我寫了一個位置應用程序。剛剛以同樣的方式啓動。有用。我應該在我的info.plist中添加一些東西嗎? – JohnSuu

相關問題