Unity + iOS8 + Memory Warning + In App Purchase
2014年10月27日
iOS8 In App Purchase Memory Warningでアプリが落ちる。
原因はIn App Purchase時のアラートにより
applicationWillResignActiveとapplicationDidBecomeActiveが呼ばれるため。
普通のunityアプリなら問題ないが製作中のアプリは起動時にUnityを初期化後すぐに
停止するため発生。
具体的には
1.Unity初期化
1.[self startUnity:application];
2.[self stopUnity];
3.Custom View ControllerをRootViewに追加
4.In App Purchase
5.IAPのAlertView表示後applicationDidBecomeActiveが呼ばれるタイミングで
以下ソースコードが実行される。
if(_unityAppReady)
{
if(_didResignActive)
UnityPause(false);
}
6.UnityPause(false)の段階でmemory warningで落ちる。
対策:
Unityを確実に1回実行してから5のソースコードを走らせる。
Comments are closed.