我是iOS应用程序开发的新手,接近完成开发我的第一个应用程序。所以现在开始完成工作,其中包括我的应用程序在达到某些事件或状态时应该如何表现。我知道处理这些任务的代码会进入appDelegate.m
,但我对我实际应该做的事情感到困惑。我的应用程序很简单,它会在按下按钮时触发带声音的动画,我希望一旦用户点击主页按钮就停止声音。我试过这个但是徒劳无功:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
finalViewController.AudioServicesDisposeSystemSoundID(soundID)
}
除了我的应用程序也崩溃,当我按两次主页按钮标志并尝试关闭我的应用程序。它在'signal SIGABRT'
中给出了main.m
错误。请帮忙。
答案 0 :(得分:0)
请尝试在此处执行此操作:
- (void)applicationWillResignActive:(UIApplication *)application{}
或者
- (void)applicationWillTerminate:(UIApplication *)application{}
答案 1 :(得分:0)
你说你得到的错误如下:
使用未声明的标识符soundID
如果soundID
是您的应用委托的属性,则应使用属性表示法访问它,例如:
self.soundID
或:
[self soundID]
“未声明的标识符”表示当您说soundID
时编译器不知道您在说什么。支持该属性的实例变量可能具有不同的名称(如_soundID
),因此soundID
不引用ivar本身,它只是属性名称。
答案 2 :(得分:0)
使用指定的代码段停止声音&访问soundId
中传递的AudioServicesPlaySystemSound(soundID)
。您可以在soundId
&中创建appDelegate
变量。播放系统声音时保存soundId
。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
AudioServicesDisposeSystemSoundID(soundID)
}