1

我是 iOS 应用程序开发的新手,我的第一个应用程序的开发工作已接近完成。所以现在开始收尾工作,其中包括我的应用程序在达到某些事件或状态时应该如何表现。我知道处理此类任务的代码,appDelegate.m但我对我实际上应该做什么感到有点困惑。我的应用程序很简单,它会在按下按钮时触发带有声音的动画,并且我希望在用户点击主页按钮后立即停止声音。我试过这个但徒劳无功:

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

此外,当我按两次主页按钮标志并尝试关闭我的应用程序时,我的应用程序也会崩溃。它给了我'signal SIGABRT'错误main.m。请帮忙。

4

3 回答 3

0

使用给定的代码片段来停止声音并访问soundId您传入的声音AudioServicesPlaySystemSound(soundID)。您可以在播放系统声音时创建soundId变量appDelegate并保存。soundId

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

你说你得到一个错误,比如:

使用未声明的标识符 soundID

如果soundID是您的应用程序委托的属性,您应该使用属性表示法访问它,例如:

self.soundID

或者:

[self soundID]

“未声明的标识符”意味着当你说soundID. 支持该属性的实例变量可能具有不同的名称(如_soundID),因此soundID不引用 ivar 本身,它只是属性名称。

于 2012-07-17T17:54:27.563 回答
0

尝试在此处执行此操作:

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

或者可能

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

于 2012-07-17T17:41:23.677 回答