好的,我知道沙箱是垃圾,但效果不好。但是,我试图让应用程序通过In App Purchase正确运行ONCE。我在Connect中完成了所有设置,创建了两个ID。
如果我执行Clean,并构建所有(每次运行的关键步骤) 并从设备中删除应用程序(此外,每次运行都很关键)
那么我将从产品列表中取回产品的请求中取回2个有效产品。
C#/ Xamarin Studio btw。
我有这段代码:
public bool BuyPurchase (SKProduct Product)
{
SKPayment payment = SKPayment.PaymentWithProduct (Product);
SKPaymentQueue.DefaultQueue.AddPayment (payment);
return true;
}
而且我意识到我无法在这种方法中恢复状态,但如果我跨过上面的那一行并且返回真实就会很好;'它走到那条线而不是APP EXIT。
如果我再次运行应用程序,我可以看到列表中的2个项目(相同的有效ID),但这次它们返回为无效。擦拭并清洁并重新安装,它们会很好地回来。我已经验证了该功能的参数。
问题: 1.我能做错什么? 2.在应用程序购买真的这么脆弱吗?我没有看到真正的应用程序无法多次请求应用内购买列表的任何问题。 3.我知道它不会在模拟器中运行,因为有人懒惰而且没有实现它,但是我在真正的iPhone上运行(iOS 5.1.1 - 不是很重要就像App Buyses在我的iOS 5.1.1手机上工作一样好)3GS手机也是如此。 [在任何人说要升级到iOS 7.X并在那里进行测试之前,它必须在我发布时才能使用5.x,除非Apple放弃了对5.x iOS的App购买的支持]
更新
使用旧界面ALSO会导致App退出(不从该功能返回)
2,你可以避免build->干净,只需从手机中删除应用程序,让它从Apple获得有效的产品(我设置了一个断点,以确保我不做一些奇怪的东西,两个请求完全一样。)
我还确认使用旧界面会在同一行上爆炸:
public void BuyPurchase (string Product)
{
SKPayment payment = SKPayment.PaymentWithProduct (Product);
BLAMO>> SKPaymentQueue.DefaultQueue.AddPayment (payment);
}
-C
Traderhut Games