TheAcharya / MarkerData

The avant-garde Marker extraction application crafted for Final Cut Pro
https://markerdata.theacharya.co
MIT License
29 stars 1 forks source link

Update Codebase for Xcode 16.0 and Swift 6 Compatibility & Optimisation #106

Closed IAmVigneswaran closed 2 weeks ago

IAmVigneswaran commented 1 month ago

@milanvarady Thank you for making the tweaks for Xcode 16.0. While the build is successful, there are several warnings shown during the build process.

Are we able to fix and solve them?

 Processing Info.plist
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                                     ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                               ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
                 ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
                            ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                                     ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                               ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
                 ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
▸ Linking Workflow\
▸ Linking Workflow\
▸ Generating 'Workflow\ Extension.appex.dSYM'
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
                            ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:138:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:141:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:146:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
                            ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                               ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                                     ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Extract/Extraction Model/ExtractionModel_DropDelegate.swift:54:29: mutation of captured var 'filesToProcess' in concurrently-executing code; this is an error in the Swift 6 language mode
                            filesToProcess.append(fileURL)
                 ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
                            ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:138:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:141:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:146:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
                            ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                               ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                                     ~~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Extract/Extraction Model/ExtractionModel_DropDelegate.swift:54:29: mutation of captured var 'filesToProcess' in concurrently-executing code; this is an error in the Swift 6 language mode
                            filesToProcess.append(fileURL)

@orchetect The warning mentions MarkersExtractor and DAWFileKit? Should the libraries need to be updated for Xcode 16.0 compatibility?

Thank you.

orchetect commented 1 month ago

The new tooling only came out this week, I haven't had a chance to check MarkersExtractor. But most of these warnings are relating to the Marker Data codebase.

From the logs it looks like you're adding some conformances in Marker Data to types imported from MarkersExtractor. Things like Identifiable could be refactored into MarkersExtractor instead. Those particular warnings are only showing because it's unrecommended practice to conform types you don't own to protocols you don't own.

orchetect commented 1 month ago

I've done the appropriate refactors and released MarkersExtractor 0.3.10.

I have also pushed a PR with changes for Marker Data in response to the refactors: #107

I only touched Marker Data code that was affected by MarkersExtractor. I will leave the remaining build warnings for @milanvarady to resolve, as they all now exclusively deal with the Marker Data codebase.

IAmVigneswaran commented 1 month ago

@milanvarady

@latenitefilms Have shared some details for setting up Workflow Extensions in Xcode 16 https://fcp.cafe/#18th-september-2024

Thanks.

IAmVigneswaran commented 1 month ago

@milanvarady I just tried to build the app again. The warnings are somewhat lesser than before.

⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:140:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:142:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:147:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:140:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:142:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:147:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠️  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
IAmVigneswaran commented 1 month ago

Based on this apple developer forum post, this is a known issue in Xcode 16.

I believe this '@StateObject' used inline will not work unless tagged with '@Previewable' it would be fixed in future versions of Xcode.

Related - https://www.avanderlee.com/swiftui/previewable-macro-usage-in-previews/ https://stackoverflow.com/questions/60105438/swiftui-preview-provider-with-binding-variables/66175501#66175501 https://www.hackingwithswift.com/forums/swift/new-atpreviewable-and-previewer-issues-for-swiftdata/27357 https://www.reddit.com/r/SwiftUI/comments/18xdv0h/why_dont_we_need_stateobject_since_xcode_15/?rdt=55626