1

私は iOS アプリの開発は初めてで、最初のアプリの開発はほぼ完了しています。これには、特定のイベントまたは状態に達したときにアプリがどのように動作するかが含まれます。そのようなタスクを処理するコードが入っていることは知っていますが、appDelegate.m実際に何をすべきかについてちょっと混乱しています。私のアプリはシンプルで、ボタンが押されたときにサウンド付きのアニメーションをトリガーし、ユーザーがホームボタンを押すとすぐにサウンドを停止したい. 私はこれを試しましたが、無駄でした:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    finalViewController.AudioServicesDisposeSystemSoundID(soundID)
}

また、ホームボタン記号を 2 回押してアプリを閉じようとすると、アプリもクラッシュします。の'signal SIGABRT'エラーが表示されmain.mます。助けてください。

4

3 に答える 3

0

代わりにここでやってみてください:

- (void)applicationWillResignActive:(UIApplication *)application{}

または多分

- (void)applicationWillTerminate:(UIApplication *)application{}

于 2012-07-17T17:41:23.677 に答える
0

次のようなエラーが発生しているとあなたは言います:

宣言されていない識別子 soundID の使用

がアプリ デリゲートのプロパティである場合soundIDは、次のようなプロパティ表記を使用してアクセスする必要があります。

self.soundID

また:

[self soundID]

「宣言されていない識別子」とは、コンパイラがsoundID. そのプロパティをサポートしているインスタンス変数は、おそらく別の名前 ( など_soundID) を持っているためsoundID、ivar 自体を参照するのではなく、単なるプロパティ名です。

于 2012-07-17T17:54:27.563 に答える
0

指定されたコード スニペットを使用して、サウンドを停止し、soundId渡した にアクセスしますAudioServicesPlaySystemSound(soundID)。システムサウンドを再生するときにsoundId変数を作成してappDelegate保存できます。soundId

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    AudioServicesDisposeSystemSoundID(soundID)
}
于 2012-07-17T18:11:41.290 に答える