Ich habe gerade CABTMIDILocalPeripheralViewController
für iOS entdeckt, welches
handhabt Benutzereinstellungen zum Aktivieren der Bluetooth MIDI-Erkennbarkeit. Das ist
gut und gut, aber um Bluetooth in den Rest meiner App zu integrieren
Netzwerk-MIDI-Konnektivität wäre es gut, in der Lage zu sein, die
direkt aus dem Code meiner App heraus, anstatt sich auf diesen undurchsichtigen VC zu verlassen.
Weiß jemand, ob das möglich ist?
Es gibt keine öffentliche API, um diese Funktionalität zu verwalten. Bei Untersuchungen mit Instrumenten scheint der Schalter eine Instanziierung von CBPeripheralManager
zu verursachen. Ich nehme an, dass es das Gerät als ein Bluetooth-Peripheriegerät einrichtet und die Daten manuell zu und von einem MIDIEndpointRef
kanalisiert, das ebenfalls erstellt wurde.
Mit anderen Worten, es gibt keine Einzellinienlösung. Wenn ich diesen Weg noch weiter gehe, poste ich den Code, es sei denn, jemand anders möchte es ausprobieren ...
AKTUALISIEREN
Der magische Code ...
%Vor%Diese IDs definieren ein MIDI-Peripheriegerät. Weitere Informationen:
Früher hatte Apple einen Doc bei
... was nicht mehr ist. Ich würde gerne eine alte Kopie finden, wie sich herausstellt, dass der Empfängercode (emulieren CABTMIDICentralViewController
) noch schwieriger zu knacken ist ...
Ich habe also eine ziemlich hacky Lösung zusammengestellt, um herauszufinden, auf welches MIDI-Gerät der Benutzer einmal im CABTMIDICentralViewController geklickt hat. Ich bin nicht sicher, ob das eine gute Idee ist - wenn Apple die Interna des Controllers ändert, wird es nicht mehr funktionieren. Ich bin mir auch nicht sicher, ob es "legal" bezüglich App Store Richtlinien ist. Wer weiß mehr Infos dazu?
DPBleMidiDeviceManager.h:
%Vor%DPBleMidiDeviceManager.m:
%Vor%Dann können Sie in Ihrem übergeordneten Ansichts-Controller das Ergebnis vom Delegaten abrufen und nach einem neuen MIDI-Gerät suchen, das diesem Namen entspricht:
%Vor%Die einzige Alternative, die mir einfällt, ist, nach MIDI-Geräten zu suchen, bevor der Controller angezeigt wird, die Liste der Geräte zu speichern und dann den Controller zu öffnen. Wenn es geschlossen wird, scannen Sie die MIDI-Geräte erneut und verschmelzen Sie die neue Liste mit der alten. Alle neuen MIDI-Geräte, die angezeigt werden, sind diejenigen, die der Benutzer ausgewählt hat. Nicht sicher, warum Apple uns das nicht leichter gemacht hat ...
Ich denke, Sie könnten nach diesem suchen: CABTMIDICentralViewController Weitere Informationen auf dieser Seite: Ссылка Dies hilft Ihnen beim Scannen und Verbinden mit Geräten über Ihre App. Ich bin mir nicht sicher, ob Sie nur entdeckt werden wollen oder auch derjenige, der scannt. Ich hoffe, das hilft
Tags und Links ios bluetooth ios9 bluetooth-lowenergy coremidi