это приложение работало нормально и было опубликовано в магазине приложений около 3 недель назад.Однако теперь, когда я использую функцию Cordova media captureImage
, она, в конечном счете, приводит к черным экранам и принудительному закрытию.
Я действительно могу сделать фотографию, только когда я нажимаю «использовать фото», она вылетает.
Я могу записывать и использовать видео очень хорошо, что я также нахожу озадачивающим.
Я запутался, почему он вдруг перестал работать?Также тот же код используется для Android, и он работает нормально.
Мне нужно проверить, загрузив на тестовый рейс, поэтому у меня нет выбора отладки по USB.
Версия Cordova:8.1.2 (cordova-lib@8.1.1)
XCode: версия 10.1 (10B61)
У кого-нибудь есть какие-либо предложения о том, как я могу решить эту проблему?
Я добавил соответствующие изменения конфигурации для разрешений.
<edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
<string>My Reason..</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSMicrophoneUsageDescription">
<string>My Reason..</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
<string>My reason ..</string>
</edit-config>
Вот мой JavaScript:
function takePicture(filePreview, multiUpload) {
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
if (filePreview !== null) {
var image = document.getElementById(filePreview);
image.src = path;
}
}
};
// capture error callback
var captureError = function(error) {
//alert("oops");
};
// start image capture
if (multiUpload) {
navigator.device.capture.captureImage(captureSuccess, captureError, {
limit: 5
});
} else {
navigator.device.capture.captureImage(captureSuccess, captureError, {
limit: 1
});
return;
}
}