mapbox / mapbox/mapbox-maps-flutter

When i use "scaleExpression" inside LocationPuck2D it crashed in iOS device and works well with Android.

Aperta
#320 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Dart
Stelle
380
Fork
204
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Below is my code snippet which i am using to get location update in app.
Initially i wasn't able to adjust location pin size but later i found that if i give some value as a String to "scaleExpression" it changes the size of pin.
But it works only on android devices. On iOS device app gets crash with error().

This is code which i am using in my app.
` mapboxMap.location.updateSettings(LocationComponentSettings(
enabled: true,
// puckBearingEnabled: true,
puckBearingSource: PuckBearingSource.COURSE,
locationPuck: LocationPuck(
locationPuck2D: LocationPuck2D(
bearingImage: null,
shadowImage: null,
topImage: list,
scaleExpression: '2')),
));`


This is Error msg getting while app crash on iOS Device.

`mapbox_maps_flutter/LocationController.swift:75: Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.typeMismatch(Swift.Array, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Array but found a number instead.", underlyingError: nil))
mapbox_maps_flutter/LocationController.swift:75: Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.typeMismatch(Swift.Array, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Array but found a number instead.", underlyingError: nil))
thread #1, queue = 'com.apple.main-thread', stop reason = Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.typeMismatch(Swift.Array, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Array but found a number instead.", underlyingError: nil))
frame #0: 0x0000000186a9bebc libswiftCore.dylib`_swift_runtime_on_report
libswiftCore.dylib`:
-> 0x186a9bebc <+0>: ret
libswiftCore.dylib`:
0x186a9bec0 <+0>: b 0x186a9bebc ; _swift_runtime_on_report
libswiftCore.dylib`:
0x186a9bec4 <+0>: adrp x8, 462002
0x186a9bec8 <+4>: ldrb w0, [x8, #0x2cc]
Target 0: (Runner) stopped.`

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la riproduzione Flutter fornita e segui scaleExpression da LocationPuck2D fino a LocationController.swift:75, dove viene segnalato il fallimento della decodifica su iOS. Confronta il modo in cui il valore viene gestito su Android e iOS; il lavoro è completato quando l’impostazione non causa più un arresto anomalo su un dispositivo iOS, mentre il comportamento su Android rimane intatto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
dart, flutter, swift
Ambito
mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.