2011-04-07 3 views
1

Quelqu'un utilise-t-il l'excellente bibliothèque monochrome 2D de Sparrow?MissingMethodException après la mise à niveau vers Monotouch 4.0

https://github.com/trustme/Sparrow

Je viens à MonoTouch 4.0 mis à jour et Monodevelop 2.4.2, et quand reconstruit et courir SparrowTest me donne cette erreur étrange:

System.MissingMethodException has been thrown "Method not found: 
'Monotouch.ObjCRuntime.Messaging.void_objc_msgSend_Boolean'." at 
SparrowTest.AppDelegateIPhone.FinishedLaunching in 
AppDelegateIPhone.cs:23 

La méthode est la suivante:

SPStage.SupportHighResolutions = true; 

Lorsqu'il est commenté, il donne la même erreur sur de nombreuses autres méthodes. J'ai essayé d'utiliser différentes versions de SDK, mais le problème persiste.

Des indices?

Répondre

2

Vous devez régénérer le sparrow.dll avec btouch pour MonoTouch 4.

+0

J'ai essayé de régénérer le sparrow.dll à partir du sparrow.cs inclus dans l'archive. Dans mon terminal, j'ai tapé:/Developer/MonoTouch/usr/bin/btouch -o sparrow.dll sparrow.cs Mais malheureusement, il me renvoie quelques erreurs: sparrow.cs (123,120): erreur CS0246: Le nom du type ou de l'espace de noms 'SPHAlign ' Ne peut être trouvé. Vous manquez une directive using ou une référence d'assembly? sparrow.cs (123,137): erreur CS0246: Le nom du type ou de l'espace de noms 'SPVAlign 'est introuvable. ... Échec de compilation: 9 erreur (s), 0 avertissements btouch: la liaison de l'API contient des erreurs. –

+0

Je pense que je suis dans ce bogue encouru: https://bugzilla.novell.com/show_bug.cgi?id=662903 $/Développeur/MonoTouch/usr/bin/btouch sparrow.cs -s: ENUM .cs extensions.cs sparrow.cs (140,11): erreur CS0260: modificateur partiel manquant sur la déclaration de type 'Sparrow.SPButton '. Une autre déclaration partielle de ce type existe extensions.cs (8,30): (Emplacement du symbole lié à l'erreur précédente) ... sparrow.cs (464,11): erreur CS0260: modificateur partiel manquant lors de la déclaration de tapez 'Sparrow.SPEventDispatcher '. Échec de la compilation: 10 erreur (s), 0 avertissements btouch: la liaison de l'API contient des erreurs. –

0

essayer de créer un script avec -out pour régénérer troisième partie des bibliothèques une autre façon d'éviter ce problème, est que inm votre sortie de construction de votre projet a choisi: Ne pas lier les assemblages et votre projet fonctionnera

0

Problème résolu!

Avec MonoTouch 4.0, nous devons utiliser smcs au lieu de gmcs.

Voici la bonne procédure pour générer sparrow.dll avec MonoTouch 4.0, en deux étapes:

/Développeur/MonoTouch/usr/bin/btouch sparrow.cs -s: enum.cs --outdir = gen -ns = Sparrow --unsafe --sourceonly = genfiles

/Développeur/MonoTouch/usr/bin/smcs -out: sparrow.dll cat genfiles extensions.cs -unsafe -r:/Developer/MonoTouch/usr/lib/mono/2.1/monotouch.dll enum.cs -target: bibliothèque

Merci à Geoff Norton et Duane Wandless pour l'aide!

Questions connexes