Итак, пришлось немного покопаться, но, похоже, проблема в том, что я тестировал на iPhone 6, который не поддерживает UINotificationFeedbackGenerator
.Я подумал, потому что они обеспечивают тактильные прикосновения к нему, и не было никаких ошибок, все было правильно в мире.
Итак, вот что я закончил делать:
let modelName = UIDevice.modelName
if audioModels.contains(modelName) {
AudioServicesPlaySystemSound(1519)
} else {
UINotificationFeedbackGenerator().notificationOccurred(.success)
}
UIDevice.modelName
- это просто вспомогательная функция, которую я нашел в Интернете (проб. Стек), которая получает имя устройства.Затем я сравниваю это имя с небольшим массивом, который я настроил - audioModels
- устройств, которые должны воспроизводить звук вместо использования NotificationFeedbackGenerator
.Не уверен, что есть лучший, более интуитивно понятный способ проверки работоспособности для каждого устройства (дайте мне знать, если есть), но это работает для меня.
Еще раз спасибо за рассмотрение вопроса.