NativeScript / NativeScript/plugins
[@nativescript/imagepicker] - app crashes on video selection that is unloaded to iCloud
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 206
- Forks
- 123
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 1
Description
Using @nativescript/imagepicker
When I pick a video that's stored locally it works as expected but if the video is old and is unloaded to iCloud to save device's storage it crashes the app immediately with the following error:
authorizing...
***** Fatal JavaScript exception - application has been terminated. *****
NativeScript encountered a fatal error: Uncaught Error: The file couldn\M-b\M^@\M^Z\M-C\M^D\M-C\M-4t be opened.
at
_loop_2(file: src/webpack:/mitch/node_modules/@nativescript/imagepicker/index.ios.js:148:0)
at (file: src/webpack:/mitch/node_modules/@nativescript/imagepicker/index.ios.js:158:0)
at timer(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:2405:0)
at invokeTask(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:406:0)
at runTask(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:178:0)
at invokeTask(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:487:0)
at ZoneTask.invoke(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:476:0)
at data.args.<computed>(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:2385:0)
at invoke(file: src/webpack:/mitch/node_modules/@nativescript/core/timer/index.ios.js:54:0)
at invoke(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:372:0)
at runGuarded(file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:144:0)
at (file: src/webpack:/mitch/node_modules/zone.js/fesm2015/zone.js:128:0)
at TimerTargetImpl.tick(file: src/webpack:/mitch/node_modules/@nativescript/core/timer/index.ios.js:18:0)
and this is how I'm handling video selection:
if (result === "Add video") {
this.mediaType = "video";
let videoPicker = imagePickerPlugin.create({
mode: 'single',
mediaType: ImagePickerMediaType.Video
});
this.startVideoSelection(videoPicker);
}
---
startVideoSelection(videoPicker) {
videoPicker
.authorize()
.then(() => videoPicker.present())
.then((selection) => {
console.log('Selection done: ' + JSON.stringify(selection));
this.processVideo(selection);
})
.catch((err) => {
console.log(err);
// this.errorMessage = err;
});
}
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par @nativescript/imagepicker/index.ios.js autour des lignes 148-158, comme indiqué dans la stack trace, et reproduisez la sélection d’une vidéo déchargée vers iCloud. C’est terminé lorsque cette sélection ne fait plus planter l’application et que l’échec est géré par le flux du picker.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ios, typescript
- Domaine
- mobile-dev
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 32/100