Mon application débogue parfaitement sur le simulateur IOS, et cela fonctionne bien lorsque je construit et déploier un fichier IPA sur l'appareil. Cependant, si j'essaie de déboguer sur l'appareil (iPhone 9.3.1 et iPad 9.3), l'application se bloque immédiatement au démarrage. J'utilise Visual Studio W / Xamarin. Le problème semble être construit / configuration / la version liée car cela fonctionne bien sur les versions de simulateur et de fichier IPA, mais je ne peux tout simplement pas comprendre le problème.
Visual Studio 2013 Mise à jour 5 Xamarin 4.0.3.214 Xamarin.ios 9.6.1.8 p>
Configurations de projet entre les constructions qui fonctionnent et ne font pas: p> rapport d'accident: p>
3 Réponses :
MtouchUseRefCounting This may be required. Go to build options, advanced tab, and tick the box on the right. It should be ticked in debug mode/simulator. So tick it in debug/device too.
Pas de chance. Toujours accidenté.
Ce n'est pas une réponse directe à votre question, mais en regardant le MVVMCross Source pour pourrait IE Comment Peut-être que vous pourriez peut-être utiliser une ligne de code similaire dans Votre application avant que le démarrage MVVMCross se produise pour obtenir la valeur de la version et, espérons-le, plus d'indices à déboguer avec. P> J'ai essayé cela dans un petit projet xamarin.ios, juste dans Main.cs, mais je ne pouvais rien voir Cela causerait le problème - J'ai également essayé de substituer des valeurs créatives pour Je me demande si le périphérique réinitialisez peut effacer le problème, de Cela répond donc à une question similaire. P> p> mvxiossystem.buildversion code>, la ligne 27 semble exécuter le
toarray code> où l'application meurt sur l'accès à l'adresse non valide:
uidevice.currentdevice.systemversion code> retourner quelque chose de manière intéressante inattendue par le framework mvvmcross? p>
version.split ('.'). Sélectionnez (int.parse) .toarray () code> Cause cet accès non valide? p>
version code> est revenu "9.3.1" et
pièces code> était un tableau
int [3] code>: p> < Pré> xxx pré>
version code> au lieu d'appeler
uidevice.currentdevice.systemversion code>, mais tout ce que je pourrais générer, mais tout ce que je pourrais générer a été non géré. Format ou Null Références Exceptions de référence avec un journal de crash iOS très différent de ce que vous avez affiché. p>
Une réinitialisation de périphérique peut être la réponse, mais c'est mon téléphone personnel et ce n'est pas une option actuelle.
Je ne peux toujours pas déboguer de mes appareils, et bien que vous répondiez que vous ne répondez pas de solution, cela fournit un aperçu.
Avez-vous déjà eu la chance de voir quelle valeur a été renvoyée de uidevice.currentDevice.systemversion code>? Je suis curieux d'obtenir un indice sur le point de savoir si l'appareil déclenche que
mvvmcross code> code à crash ou s'il s'agit de quelque chose de plus comme un problème de mémoire physique.
Je n'ai pas encore été dû aux voyages de la conférence, mais j'espère essayer quand je suis de retour dans mon bureau la semaine prochaine. Je vais mettre à jour alors.
Je réponds sur la base de l'application native, cela peut se produire si vous définissez un profil provisoire adhoc à l'option de débogage dans la construction de paramètres de projet. Cela signifie de déboguer votre code, vous devez définir le profil provisoire de débogage du profil provisoire de «débogage» et non adhoc. P>
Ce n'est pas le cas pour moi
Avez-vous regardé dans la liaison de votre application? Voir: développeur.xamarin.com/guides/ios/advanced_topics/linker
Oui. J'ai éteint la liaison avec le même résultat.
Est-ce que quelque chose dans le projet d'iOS
AppDelegate.FinishedLaunching CODE> prend éventuellement plus longtemps sur le périphérique que le simulateur, de tels appareils
WatchDog CODE> de l'appareil pourraient tuer l'application?
En regardant le rapport d'accident d'IOS un peu plus proche, un accès à l'adresse invalide et le fait que l'exécution semblait être dans le code MVVMcross faisant une toarray, mon premier commentaire semble inutile.
Vous devriez essayer de ne pas déboguer le processus de base.
@Zachgreen Vous avez déjà trouvé une solution à votre problème. J'ai des problèmes similaires, mais pas d'utiliser mvvmcross. Cela signifie-t-il qu'il y a une erreur dans le code au moment de l'exécution ou est-ce quelque chose d'autre?