2012-04-03 154 views
1

我开发了一个应用程序的iPhone使用monotouch,并有应用程序内购买,我用这个代码https://github.com/Clancey/ClanceyLib/blob/master/ClanceysLib/AppStore/InAppPurchaseManager.cs。一切正常。我可以购买,我可以得到答案。应用程序内购买ios故障

但有时我得到错误,然后应用程序崩溃。例如,我试图通过关闭并重新打开应用程序购买10次。我得到这个错误2次。因此,App Store拒绝我的应用程序。

的错误是:“有一个SIGSEGV而执行本机代码这通常表示在单运行时或应用程序使用本机库的一个致命的错误。”

请帮我一下,我可以解决它。

BTW即时调用应用程序内购买如下:

InAppPurchaseManager obj_inapp=new InAppPurchaseManager(); 
if (obj_inapp.canMakeProUpgrade()) 
{ 
inapp.PurchaseProUpgrade(); 
} 

,如果你需要我可以将日志发送,MonoTouch的和Xcode的是最新版本...

这是示例应用程序:http://85.195.84.6/guessme/inapppurchaseproblem.zip

问候......

问候......

+1

发布你的堆栈跟踪,用手很难说出问题。要尝试的一件事是将InAppPurchaseManager存储在类的成员变量中。我可以看到GC可以在上面的代码示例中收集它。 – jonathanpeppers 2012-04-03 11:46:15

+0

这是崩溃日志:http://85.195.84.6/guessme/ipad.rar 这是示例应用程序:http://85.195.84.6/guessme/inapppurchaseproblem.zip 问候...... – Jose 2012-04-03 19:00:34

+0

你找到了解?我有同样的问题,我很好奇如何解决它。 – StackFlower 2013-04-29 13:13:50

回答

2

您是否尝试在您的控制器类中声明private InAppPurchaseManager inapp;作为成员变量?

作为一个局部变量的GC可以收集它和Objective-C将不再能够回来打电话给C#和崩溃会导致。