Ho un progetto che sta funzionando benissimo su Android e WinPhone 8. Quando tento di fare funzionare su iOS, ho ottenere il seguente erroreMvvmlight e Xamarin.iOS in grado di trovare di default ctor
Microsoft. Practices.ServiceLocation.ActivationException: Impossibile registro: Nessun costruttore pubblico si trovano in x
dove x
è tutto ciò che SimpleIoc.Default.Register<T, TU>();
il flusso colpisce prima. Ho spostato il codice (come suggerito altrove) per garantire che tutte le chiamate specifiche della piattaforma SimpleIoc
vengano effettuate in ViewModelLocator
.
Ho aggiunto i ctors di default pubblici nelle classi che si lamentano dell'errore (ho comunque impostato il PreferredConstructor
sull'originale, non sul nuovo ctor pubblico aggiunto).
Ho la sensazione che questo errore sia un falso positivo (qualcos'altro non funziona, ma indica quel codice).
Utilizzo di Xam.iOS tramite un server di build (il codice proviene da VS2015). Xcode sta eseguendo gli emulatori 8.3 (potrebbe essere necessario aggiornare per consentire 8.4 test)
Aggiungere l'attributo [Preserva] sul costruttore predefinito per impedire al linker di ottimizzarlo. – Softlion
@Steve Morgan, provato le opzioni del linker a "Do not Link" ancora il suo crash .. Sto cercando di eseguire iPhone distribuzione di build sul mio iPhone sto caricando il mio ipa su App Store e l'utilizzo di test-Flight scaricando l'ipa e provando a eseguire l'app si blocca immediatamente ... Se eseguo la mia app sul simulatore funziona bene solo per la distribuzione che genera questo problema Qualsiasi suggerimento sarà appropriato .. – Sanket