2

私は iOS アプリケーションを持っており、このようにしています: アプリのデリゲートでメソッドを呼び出します:

- (void)applicationWillResignActive:(UIApplication *)application
{
   [self performSelector:@selector(myFunction) withObject:self afterDelay:0.0];
   .... 
}

問題は、コントローラーの 1 つに inAppPurchase を実装し、ユーザーが支払いを確認するかキャンセルすると、:- (void)applicationWillResignActive:(UIApplication *)applicationが呼び出されて呼び出されることmyFunctionです。myFunctionユーザーが支払いを受け入れるかキャンセルするときに呼び出すのではなく、ユーザーがアプリを起動するときに呼び出したいと思います。

どうすればこれを行うことができますか? ありがとう

4

1 に答える 1

3

アプリケーションの applicationWillResignActive の理由は、画面に青いポップアップが表示されるためです。このポップアップはアプリケーションに属していません。そのため、applicationWillResignActive メソッドを呼び出すロジックを変更する必要があります。

applicationWillResignActive は、notificationCenter やマルチタスキング バーの表示など、多くの単純な OS インタラクションによって呼び出されるメソッドであることに注意してください。これらのインタラクション中にそのメソッドを呼び出してはならない場合は、メソッドを呼び出すためのホワイトリスト ロジックが必要な場合があります。これにより、アプリ内購入に固有のものではなく、呼び出す必要がある場合にのみ呼び出すことができます。

于 2012-09-10T13:54:21.340 に答える