---
title: "finishSyncing(_:completionHandler:)"
framework: GameSave
role: symbol
role_heading: Instance Method
platforms: [iOS 26.0+, iPadOS 26.0+, Mac Catalyst 26.0+, macOS 26.0+, visionOS 26.0+]
path: "gamesave/gssynceddirectory/finishsyncing(_:completionhandler:)"
---

# finishSyncing(_:completionHandler:)

Waits for the directory sync to complete, showing the sync’s progress in a modal alert.

## Declaration

```swift
func finishSyncing(_ statusDisplay: UIWindow, completionHandler completion: @escaping @Sendable () -> Void)
```

```swift
func finishSyncing(_ statusDisplay: UIWindow) async
```

```swift
func finishSyncing(_ statusDisplay: NSWindow, completionHandler completion: @escaping @Sendable () -> Void)
```

```swift
func finishSyncing(_ statusDisplay: NSWindow) async
```

## Parameters

- `statusDisplay`: The window where the system shows progress and alerts.
- `completion`: The block that GameSave calls after syncing finishes.

## Discussion

Discussion If the sync results in a conflict, the framework displays a conflict resolution UI for the user to chose a version that will be used. If the user isn’t signed in to iCloud or iCloud drive, the framework informs the user and then switches to local saving.

## See Also

### Syncing a directory

- [finishSyncing(completionHandler:)](gamesave/gssynceddirectory/finishsyncing(completionhandler:).md)
