我有一個Cordova應用程序(針對Android和iOS編寫),在一定的安全性調整一個月後,一直在使用相當數量的用戶或兩個前。現在隨着更新的10.1升級(目前在10.1.1上測試),我發現調用視頻捕獲功能的嘗試完全崩潰了Cordova,沒有任何從JS角度進行調試的選項。 Android方面沒有問題。這只是對iOS的最新更新,並沒有代碼或插件更新或更改。
我們使用最新的cordova-plugin-media-capture plugin,v1.4.0和ngCordova。打電話給這個插件,通過$cordovaCapture.captureImage
拍攝照片在iOS 10.1.1中正常工作。這只是撥打電話$cordovaCapture.captureVideo
,它完全立即崩潰科爾多瓦。我已經看過Xcode,以防有任何新的或者失控的設置,並且一切看起來都正確,因此歡迎任何關於解決這個問題的建議。
早些時候(一個月或兩個月前),我們解決了使用科爾多瓦 - 插件的設置掛機插件與這些iOS的設置(如圖片段)config.xml中的新的iOS 10權限問題:
<platform name="ios">
<config-file parent="NSLocationWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
<string>Reason goes here...</string>
</config-file>
<config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
<string>Reason goes here....</string>
</config-file>
<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>Reason goes here...</string>
</config-file>
我使用Xcode確認了這些設置。我們是在傳遞給實際調用的參數如下:
$cordovaCapture.captureVideo
({
limit: 1, // how many clips to record (iOS must be 1)
duration: 300 // maximum length (in seconds) = 5 minutes
})
希望其他人管理,以解決同樣的問題,並願意分享的解決方法。
FYI應用程序最初使用Cordova v6.2.0。我升級到最新的v6.4.0並重新測試,但獲得相同的iOS問題。 –
對於兩位親切地建議我看麥克風權限的人。我已經深入挖掘,這似乎是它崩潰的原因(來自崩潰報告)。因爲我的config.xml設置都包含在內,所以必須將某些東西搞砸,並且我也可以在Xcode上看到原因字符串是目前,但該應用程序似乎並沒有它。 –
嘗試將話筒設置保存在config.xml中,然後'cordova clean ios'然後重建並運行。訣竅,我現在可以再次錄製視頻。所以根本問題是麥克風設置,但在構建過程中還有其他問題。 –