質問: Objective c による iPhoneアプリ初心者です 電源ボタンを押された時に実行されるイベントを実装するために applicationWillSuspend を用いようと思っております /---------------------------------/ * (void) applicationWillSuspend { NSLog(@"WillSuspend"); } /---------------------------------/ /---------------------------------/ * (void)applicationWillSuspend:(UIApplication *)application { NSLog(@"WillSuspend"); } /---------------------------------/ と書いてみましたがどちらもNSLogが表示されません どうすればよろしいでしょうか・ そもそもapplicationWillSuspendはどういったときに実行されるのでしょうか? applicationDidEnterBackgroundなどは正常に動きます
回答: UIApplicationDelegateプロトコルにapplicationWillSuspendというメソッドは定義されていません。 (参考) ネットで「applicationWillSuspend」を検索してみたところ、2011年以前の古い記事でそのようなメソッドを使った例がたまに見られますが、おそらく昔存在していた非公開メソッドではないかと思います。 今の最新OSではそのようなメソッドが呼ばれることはありませんし、仮に呼び出されたとしても、Appleのドキュメントに書かれてない非公開機能を使うと、審査に通らない可能性がありますので、避けたほうがよいと思います。