2

私はこの方法で通知を実装しています:

-(void)scheduleLocalNotificationWithDate:(NSDate *)AlarmDate{
    UILocalNotification *Notification = [[UILocalNotification alloc]init];
    Notification.fireDate = AlarmDate;
    Notification.alertBody = @"Time to wake up!";
    Notification.soundName = @"sound.caf";
    [[UIApplication sharedApplication] scheduleLocalNotification:Notification];
}

そのため、通知が発生しても音はありません。何が問題なのですか?

*ファイル名は正しい *サウンドの長さ: 32秒 *私はIOSシミュレーターを使用しています *サウンドは「サポートファイル」にあり、「物理的に」プロジェクトフォルダーにもあります *絶対パスを設定しようとしましたが、どちらも役に立ちませんでした.

UPD: ローカルではなく、プッシュ通知 (つまり、アプリを閉じても機能します)

4

3 に答える 3

1

ローカル通知は iphone シミュレーターではうまく機能しません。実際のデバイスで試してみてください。

于 2012-04-27T18:48:09.097 に答える
0

ローカル通知はシミュレーターのサウンドで機能します (Xcode 7.1 でテストしたところです)。ただし、クリップの長さが 30 秒を超える場合、サウンドは再生されません。

于 2015-11-23T20:28:03.330 に答える
0

混乱しています。プッシュ通知を送信していると言いますが、コードにはローカル通知が表示されます。

プッシュ通知の場合、アプリは、プッシュ通知トークンを取得したときにサウンドが必要であることを指定する必要があります。

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound)];

アプリが最初に音声通知を要求せずに通知用に登録した場合、iOS がアプリの変更を通知する前に、アプリを削除して再インストールする必要がある場合があります。

また、[設定] > [通知] > [YOUR_APP] でサウンドがオンになっていることを確認してください。

さらに、Apple のLocal and Push Notification Programming Guideによると、カスタム サウンドの長さは最大 30 秒で、それ以外の場合はデフォルトの通知が再生されます。これは、プッシュ通知とローカル通知の両方に適用されます。

于 2012-10-10T23:32:09.800 に答える