2014-07-10 8 views
17

Ich frage mich, ob es unter iOS 8 eine neue API gibt, mit der Sie den Standard-Tastaturklick-Sound in einer Tastaturerweiterung spielen können - und nur dann wiedergeben, wenn die Tastaturklicks aktiviert sind und das Gerät ist nicht leise. Ich habe eine solche API nicht gesehen, und ich habe keine Fragen dazu gesehen.Standard-Tastatureingabe für iOS-Tastatur in Custom Keyboard Extension abspielen

Ich weiß in früheren iOS-Versionen dies möglich war, wenn Sie eine benutzerdefinierte Eingabe oder Tastatur Zubehör Ansicht implementiert (via [[UIDevice currentDevice] playInputClick];, nachdem Sie das UIInputViewAudioFeedback Protokoll verabschieden und zurück YES in enableInputClicksWhenVisible). Dies war nur in diesen Situationen möglich. Eine Tastaturerweiterung ist keiner von denen.

Kann der Eingabe-Klick mit einer benutzerdefinierten iOS-Tastatur wiedergegeben werden?

Beachten Sie, dass this question verwandt ist, aber sie wollten einen benutzerdefinierten Sound, und die Lösung wird die Präferenz des Benutzers für das Spielen von Tastaturklicks nicht respektieren - wird sie immer abspielen, selbst wenn diese Option deaktiviert wurde.

+1

Was http://stackoverflow.com/a/10299080/2446155 –

+0

@Joey Hast du eine Lösung dafür gefunden? Ich möchte das auch wirklich wissen. –

+0

@Sabo tat ich nicht. Ich habe eine Verbesserungsanfrage an Apple gesendet. Dies scheint derzeit nicht möglich zu sein (Beta 4). – Joey

Antwort

10

verwenden nur

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),  
^{ 
AudioServicesPlaySystemSound(1104); 
});  

die tirck werden, wenn der volle Zugriff aktiviert ist, werden der Ton spielen, wenn nicht, weil es Anruf ist in dem Hintergrund-Thread ist werden kein Block des Hauptthread

+0

Das funktionierte wirklich für mich, danke! –

+1

Nur neugierig, wie Sie die verschiedenen Sound-IDs bekommen? –

+0

es ist sicher, und ich habe eine Tastatur im Geschäft – user3180187