jsh*_*erk 4 iphone cocoa-touch objective-c ios4 ios
提交应用内购买时是否正常,它会导致applicationWillResignActive询问您是否要购买?
例如:
[[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)
这会导致应用程序重新激活,然后一旦您点击BUY或CANCEL,然后调用applicationWillEnterForeground.
有没有办法知道这是一个应用内购买导致应用程序辞职,以便当它再次进入前台时,我可以标记一些要跳过的东西?
谢谢
好吧,这就是我要做的事情,因为我想不出任何其他方式......
当应用程序启动时,它会调用application:didFinishLaunchingWithOptions,当它从后台启动时,它会调用applicationWillEnterForeground.在这两种情况下,它总是调用applicationDidBecomeActive,这是我在IAP发生时要跳过的代码.
当应用程序关闭或移动到后台时,它总是调用applicationWillResignActive然后调用applicationDidEnterBackground.
我注意到的是IAP调用applicationWillResignActive然后调用applicationDidBecomeActive而没有其他内容.
所以在应用程序中:didFinishLaunchingWithOptions我将设置一个变量startupDidFinish = 1
在applicationWillEnterForeground中,我将设置一个变量startupForeground = 1
在applicationDidBecomeActive中,我将这样做:
//SKIP if application resigned active then becomes active again.
if (startupDidFinish == 1 || startupForeground==1) {
//Do normal startup stuff
}
startupDidFinish = 0;
startupForeground = 0;
Run Code Online (Sandbox Code Playgroud)
因此,这将允许您跳过IAP之类的代码(我认为SMS也以相同的方式运行).
归档时间: |
|
查看次数: |
905 次 |
最近记录: |