---
title: "interoperabilityMode(_:_:)"
framework: swift-package-manager
role: symbol
role_heading: Type Method
path: "swift-package-manager/documentation/packagedescription/swiftsetting/interoperabilitymode(_:_:)"
---

# interoperabilityMode(_:_:)

Enables Swift interoperability with a given language.

## Declaration

```swift
static func interoperabilityMode(_ mode: SwiftSetting.InteroperabilityMode, _ condition: BuildSettingCondition? = nil) -> SwiftSetting
```

## Parameters

- `mode`: The interoperability mode, either C-compatible or C++-compatible.
- `condition`: A condition that restricts the application of the build setting.

## Discussion

Discussion This is useful for enabling interoperability between Swift and C++ for a given target. Enabling C++ interoperability mode might alter the way some existing C and Objective-C APIs are imported. note: First available in PackageDescription 5.9.

## See Also

### Configuring Swift Interoperability

- [SwiftSetting.InteroperabilityMode](swift-package-manager/documentation/packagedescription/swiftsetting/interoperabilitymode.md)
