只要Apple将其操作系统更新为8.3,我的本地自定义声音就不会播放。
我已经做好了一切,因为它工作了< = 8.2,所以代码应该不是问题,但以防这是我创建通知的方式:
仅供参考,他们是30秒或更短
首先我使用Apples supplied code
将它们转换为caf格式然后我将它添加到我的项目中。我已经在我的资源包中验证了它。我还验证了他们已被分配到目标。
它仍然没有播放,但在所有以前的操作系统版本中都有。
这是我的日程表方法:
- (void) scheduleLocalNotification {
NSString *localNotificationSound;
localNotificationSound = [[NSBundle mainBundle] pathForResource:@"Clock" ofType:@".caf"];
UILocalNotification *timerDoneNotification = [[UILocalNotification alloc] init];
timerDoneNotification.soundName = localNotificationSound;
timerDoneNotification.alertBody = @"Time Up!";
timerDoneNotification.alertAction = @"Reset";
timerDoneNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:secondsLeft];
timerDoneNotification.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] scheduleLocalNotification:timerDoneNotification];
}
答案 0 :(得分:0)
我没有阅读有关如何成为非本地化资源的部分:
您可以将音频数据打包到aiff,wav或caf文件中。然后,在Xcode中,将声音文件作为应用程序包的非本地化资源添加到项目中。
所以我所做的就是将文件名包装在stringWithFormat
中,并在v8.3之后开始工作
timerDoneNotification.soundName = [NSString stringWithFormat:@"%@", localNotificationSound];