<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreAudioKit",
  "identifier" : "/documentation/CoreAudioKit/CABTMIDILocalPeripheralViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "CoreAudioKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CABTMIDILocalPeripheralViewController"
  },
  "title" : "CABTMIDILocalPeripheralViewController"
}
-->

# CABTMIDILocalPeripheralViewController

A view controller that advertises an iOS device as a Bluetooth-based MIDI peripheral.

```
class CABTMIDILocalPeripheralViewController
```

## Overview

To advertise the iOS device as a Bluetooth MIDI peripheral, create a new [`CABTMIDILocalPeripheralViewController`](/documentation/CoreAudioKit/CABTMIDILocalPeripheralViewController) object and then either present it modally or push it onto a<doc://com.apple.documentation/documentation/UIKit/UINavigationController> view controller. No other configuration of the object is necessary. Once the user interface is displayed, the iOS device is discoverable by another device looking for Bluetooth MIDI peripherals, such as an iOS device displaying a [`CABTMIDICentralViewController`](/documentation/CoreAudioKit/CABTMIDICentralViewController) object. The [`CABTMIDILocalPeripheralViewController`](/documentation/CoreAudioKit/CABTMIDILocalPeripheralViewController) object manages its own user interface and is dismissed automatically.

Once connected, the peripheral appears as a MIDI device, just like any other connected MIDI device. MIDI commands sent to the peripheral are automatically played. For more information, see <doc://com.apple.documentation/documentation/CoreMIDI>.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`UITraitEnvironment`](/documentation/UIKit/UITraitEnvironment)

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

[`UIPasteConfigurationSupporting`](/documentation/UIKit/UIPasteConfigurationSupporting)

[`UIContentContainer`](/documentation/UIKit/UIContentContainer)

[`UIAppearanceContainer`](/documentation/UIKit/UIAppearanceContainer)

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`UIStateRestoring`](/documentation/UIKit/UIStateRestoring)

[`UITraitChangeObservable-67e94`](/documentation/UIKit/UITraitChangeObservable-67e94)

[`Hashable`](/documentation/Swift/Hashable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`UIFocusEnvironment`](/documentation/UIKit/UIFocusEnvironment)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

### Inherits From

[`UIViewController`](/documentation/UIKit/UIViewController)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)