2011-04-07 91 views
1

有人使用优秀的Sparrow 2D monotouch库吗?升级到Monotouch 4.0后出现MissingMethodException

https://github.com/trustme/Sparrow

我刚刚更新到4.0的MonoTouch MonoDevelop的和2.4.2,当重建 和运行SparrowTest给我这个奇怪的错误:

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

的方法是:

SPStage.SupportHighResolutions = true; 

当评论时,它在许多其他方法上给出了相同的错误。我试过使用不同的sdk版本 ,但问题仍然存在。

任何线索?

回答

2

您需要btouch重新生成sparrow.dll对MonoTouch的4

+0

我试图从存档中包含的sparrow.cs中重新生成sparrow.dll。在我的终端中,我键入:/ Developer/MonoTouch/usr/bin/btouch -o sparrow.dll sparrow.cs但不幸的是它返回了一些错误:sparrow.cs(123,120):error CS0246:类型或命名空间名称'SPHAlign'找不到。你是否缺少using指令或程序集引用? sparrow.cs(123,137):错误CS0246:无法找到类型或名称空间名称'SPVAlign'。 ...编译失败:9个错误,0个警告 btouch:API绑定包含错误。 – 2011-04-08 14:31:40

+0

我想我已经在发生这个错误: https://bugzilla.novell.com/show_bug.cgi?id=662903 $ /开发商/ MonoTouch中的/ usr/bin中/ btouch sparrow.cs -s:枚举.cs extensions.cs sparrow.cs(140,11):错误CS0260:“Sparrow.SPButton”类型的声明缺少部分修饰符。此类型的另一个部分声明存在 extensions.cs(8,30):(与前一错误相关的符号的位置) ... sparrow.cs(464,11):错误CS0260:声明时缺少部分修饰符键入'Sparrow.SPEventDispatcher'。 编译失败:10个错误,0个警告 btouch:API绑定包含错误。 – 2011-04-08 16:04:42

0

尝试创建退房手续脚本再生第三部分图书馆 另一种方式来避免这个问题,是的INM您的构建输出您的项目选择:不要链接程序集 和您的项目将工作

0

问题解决!

对于MonoTouch 4.0,我们必须使用smcs而不是gmcs。

下面是用于产生与sparrow.dll MonoTouch的4.0,在两个步骤中正确的程序:

/开发商/ MonoTouch的在/ usr /斌/ btouch sparrow.cs -s:enum.cs --outdir =根-ns = Sparrow --unsafe --sourceonly = genfiles

/Developer/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:库

感谢Geoff Norton和Duane Wandless的帮助!