我使用monotouch为iphone开发了一个应用程序,并且在其中有应用程序内购买,我使用了此代码https://github.com/Clancey/ClanceyLib/blob/master/ClanceysLib/AppStore/InAppPurchaseManager.cs。一切正常。我可以购买,我可以得到答案。
但有时我会收到错误然后应用程序崩溃。例如,我试图通过关闭并重新打开应用程序购买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
...问候
最诚挚的问候......
答案 0 :(得分:2)
您是否尝试在控制器类中声明private InAppPurchaseManager inapp;
作为成员变量?
作为一个局部变量,GC可以收集它,而Objective-C将无法再回调C#而导致崩溃。