<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SharedWithYou",
  "identifier" : "/documentation/SharedWithYouCore/SWCollaborationCoordinator",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Shared with You Core"
    ],
    "preciseIdentifier" : "c:objc(cs)SWCollaborationCoordinator"
  },
  "title" : "SWCollaborationCoordinator"
}
-->

# SWCollaborationCoordinator

An object that contains the shared collaboration coordinator.

```
class SWCollaborationCoordinator
```

## Overview

`SWCollaborationCoordinator` is a singleton, meaning there’s a global shared instance. The singleton invokes its [`actionHandler`](/documentation/SharedWithYouCore/SWCollaborationCoordinator/actionHandler) delegate to coordinate new collaborations and updates to existing collaborations.

Register the delegate soon after launch and handle actions immediately to avoid timeouts. Here’s how to set up the collaboration coordinator after your app finishes launching:

1. Access the singleton coordinator instance through the shared property.
2. Then, in the app delegate’s <doc://com.apple.documentation/documentation/UIKit/UIApplicationDelegate/application(_:didFinishLaunchingWithOptions:)> method, set the `actionHandler` property to an object that conforms to the [`SWCollaborationActionHandler`](/documentation/SharedWithYouCore/SWCollaborationActionHandler) protocol.

> Related Sessions from WWDC22:
> Session 10093: [Integrate your custom collaboration app with Messages](https://developer.apple.com/videos/play/wwdc2022/10093/)

## Topics

### Accessing coordinator attributes

[`sharedCoordinator`](/documentation/SharedWithYouCore/SWCollaborationCoordinator/shared)

The shared collaboration coordinator.

[`actionHandler`](/documentation/SharedWithYouCore/SWCollaborationCoordinator/actionHandler)

The collaboration action handler.

## Relationships

### Conforms To

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

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

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

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

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

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

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)