Sample project for observable file changes in app groups container with Combine.


This project contains 3 local packages to manage files in container. (See Packages/Package.swift)

  • FileObserver
    • Class to observe file changes using DispatchSourceFileSystemObject.
  • AppGroupsFileSystem
    • App groups container url provider and class representing file contained on app groups container.
  • BroadcastPreferences
    • Informations shared and observed between application and app extension.

Broadcast upload extension updates shared Bool variable isBroadcasting.

try? BroadcastPreferences.shared.isBroadcasting.write(true)

Application observes isBroadcasting with SwiftUI.

Text(viewModel.isBroadcasting ? "Broadcasting" : "Not Broadcasting")



View Github