Ho la più semplice delle app che ho pensato di provare sul mio dispositivo prima che diventassi troppo assorbito. Tuttavia, sto ricevendo il messaggio di errore più strano quando lo eseguo sul mio iPhone (come indicato per l'emulatore sul mio macbook).La tabella non ha colonne (pubbliche) solo sul dispositivo reale
La tabella non ha colonne (pubbliche).
Sto usando il PCL SQLite.Net e l'ho creato da git hub in quanto ho avuto qualche problema con esso non avendo la piattaforma dll per IOS altrimenti.
Codice rilevante.
Nei miei modelli ho questo:
public class Setting
{
[PrimaryKey, AutoIncrement]
public long Id { get; set; }
[Indexed]
public string Key { get; set; }
public string Value { get; set; }
}
Il codice che genera questo messaggio di errore è la semplice:
using (SQLiteConnection db = GetCon()) {
db.CreateTable<Setting>();
}
ma a mio parere la cosa più strana è che questo codice funziona bene su l'emulatore ma blocca l'applicazione sullo stesso iPhone.
Se qualcuno ha qualche idea che sarebbe grandiosa.
EDIT: Questo errore è gettato sulla libreria SQLite.Net-PCL in this file linea 380, ma solo sul dispositivo e non sull'emulatore.
Come si ottiene questo messaggio? Questa è un'eccezione? In tal caso, puoi pubblicare la traccia dello stack? – Grisha
Si tratta di un errore, sfortunatamente sul dispositivo in xamarin studio non riesco a ottenere l'errore di rimanere sullo schermo per molto tempo prima che interrompe l'esecuzione del programma. Probabilmente un bug nel programma, tuttavia avendo esaminato il codice, quell'eccezione interna viene generata nella libreria sqlite-net che collegherò nella domanda (quando github ritorna online). @Grisha –
@DanielCasserly il fatto che funzioni sul tuo mac e non sul dispositivo potrebbe avere a che fare con esso in realtà un * simulatore * invece di un emulatore * reale *. Hai detto di averlo creato da solo invece di usare il Nuget, forse il problema sta lì, quale problema l'hai usato in altro modo? E come stanno passando nella connessione specifica della piattaforma? – Jack