在我所有先前版本操作系統的iOS應用程序中,我們偶爾錄製音頻,然後休眠一段時間,然後重新錄製,然後永遠循環(睡眠需要維護電池)。即使應用程序在後臺,這也可以在iOS 7中正常運行。現在,當應用程序處於後臺時,對AudioQueueStart的調用無法開始錄製,並顯示錯誤:-16981。我似乎無法在文檔或Web上找到此錯誤代碼,並且如果將它變爲NSError,它會顯示「操作無法完成(OSStatus錯誤-16981。)」,它不是'這一切都很有幫助。AudioQueueStart在iOS 7的後臺進程中失敗,並且後臺進程失敗-16981
我有一個理論,蘋果正在這裏關閉一個洞;這個想法是;你爲什麼要從後臺進程開始錄製,除非你是間諜?那麼,在用戶同意的情況下(簽名和付費!),這正是我們正在做的。
所以;任何人都可以證實或否認這是預期的,或者我可能會對此做些什麼。這對我們的應用程序來說有點殺手鐗。我已經將它作爲Apple的一個bug提交,並且會嘗試在此處報告進度。
更新:2013年10月3日
雖然以前的答案似乎爲這個工作一段時間;它已經停止與-12985工作,這是因爲另一個應用程序已打開音頻。這當然是爲什麼我需要使用混合標誌。
UPDATE:
的iOS 7.0.3(或更高版本)似乎已經完全解決了這個問題。
真的嗎?這是一個編程問題,而AskDifferent似乎更適合高級用戶而不是開發人員。我希望有人可能知道AudioQueueStart函數的-16981可能意味着什麼,以及如何解決它。 –
我對iOS不熟悉,但如果操作系統發生變化,我認爲你會在apple @ stackexhange獲得更多有效的幫助。但要怪我英語不好。我誤解了該頁面也適用於軟件相關問題的部分。 – xQuare
在iOS 7上遇到同樣的問題。 –