diff --git a/macos/OuisyncFileProvider/Anchor.swift b/macos/Backend/Anchor.swift similarity index 100% rename from macos/OuisyncFileProvider/Anchor.swift rename to macos/Backend/Anchor.swift diff --git a/macos/OuisyncFileProvider/Debug.swift b/macos/Backend/Debug.swift similarity index 100% rename from macos/OuisyncFileProvider/Debug.swift rename to macos/Backend/Debug.swift diff --git a/macos/OuisyncFileProvider/Enumerator.swift b/macos/Backend/Enumerator.swift similarity index 100% rename from macos/OuisyncFileProvider/Enumerator.swift rename to macos/Backend/Enumerator.swift diff --git a/macos/OuisyncFileProvider/ExtError.swift b/macos/Backend/ExtError.swift similarity index 100% rename from macos/OuisyncFileProvider/ExtError.swift rename to macos/Backend/ExtError.swift diff --git a/macos/OuisyncFileProvider/Extension+Servicing.swift b/macos/Backend/Extension+Servicing.swift similarity index 100% rename from macos/OuisyncFileProvider/Extension+Servicing.swift rename to macos/Backend/Extension+Servicing.swift diff --git a/macos/OuisyncFileProvider/Extension.swift b/macos/Backend/Extension.swift similarity index 92% rename from macos/OuisyncFileProvider/Extension.swift rename to macos/Backend/Extension.swift index 4fceb050d..47592b16f 100644 --- a/macos/OuisyncFileProvider/Extension.swift +++ b/macos/Backend/Extension.swift @@ -12,7 +12,7 @@ import OSLog import Common import Network -class Extension: NSObject, NSFileProviderReplicatedExtension { +open class Extension: NSObject, NSFileProviderReplicatedExtension { static let WRITE_CHUNK_SIZE: UInt64 = 32768 // TODO: Decide on optimal value static let READ_CHUNK_SIZE: Int = 32768 // TODO: Decide on optimal value @@ -25,7 +25,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { let pastEnumerations: PastEnumerations? let manager: NSFileProviderManager - required init(domain: NSFileProviderDomain) { + public required init(domain: NSFileProviderDomain) { // TODO: The containing application must create a domain using // `NSFileProviderManager.add(_:, completionHandler:)`. The system will // then launch the application extension process, call @@ -153,8 +153,8 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { // WARN: only mutate these while holding a lock on self var active = true // this is set to false when shutting down - var invalidators: [() async -> Void] = [] // list of things called on invalidate(); only append if active = true! - func invalidate() { + var invalidators: [@Sendable () async -> Void] = [] // list of things called on invalidate(); only append if active = true! + public func invalidate() { let active = synchronized(self) { defer { self.active = false } return self.active @@ -172,7 +172,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { } } - func item(for identifier: NSFileProviderItemIdentifier, request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) -> Progress { + public func item(for identifier: NSFileProviderItemIdentifier, request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) -> Progress { let log = self.log.child("item").trace("invoked(\(identifier))") let handler = { (item: NSFileProviderItem?, error: Error?) in @@ -204,7 +204,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { return Progress() } - func fetchContents(for itemIdentifier: NSFileProviderItemIdentifier, version requestedVersion: NSFileProviderItemVersion?, request: NSFileProviderRequest, completionHandler: @escaping (URL?, NSFileProviderItem?, Error?) -> Void) -> Progress { + public func fetchContents(for itemIdentifier: NSFileProviderItemIdentifier, version requestedVersion: NSFileProviderItemVersion?, request: NSFileProviderRequest, completionHandler: @escaping (URL?, NSFileProviderItem?, Error?) -> Void) -> Progress { let log = self.log.child("fetchContents").info("invoked(\(itemIdentifier), \(requestedVersion.flatMap{Version($0)} as Optional)") // TODO: implement fetching of the contents for the itemIdentifier at the specified version @@ -298,7 +298,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { return progress } - func createItem(basedOn itemTemplate: NSFileProviderItem, fields: NSFileProviderItemFields, contents url: URL?, options: NSFileProviderCreateItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, NSFileProviderItemFields, Bool, Error?) -> Void) -> Progress { + public func createItem(basedOn itemTemplate: NSFileProviderItem, fields: NSFileProviderItemFields, contents url: URL?, options: NSFileProviderCreateItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, NSFileProviderItemFields, Bool, Error?) -> Void) -> Progress { // TODO: a new item was created on disk, process the item's creation let log = log.child("createItem").trace("invoked(itemTemplate:\(itemTemplate), fields:\(fields), url:\(url as Optional), options:\(options))") @@ -365,7 +365,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { return Progress() } - func modifyItem(_ item: NSFileProviderItem, baseVersion version: NSFileProviderItemVersion, changedFields: NSFileProviderItemFields, contents newContents: URL?, options: NSFileProviderModifyItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, NSFileProviderItemFields, Bool, Error?) -> Void) -> Progress { + public func modifyItem(_ item: NSFileProviderItem, baseVersion version: NSFileProviderItemVersion, changedFields: NSFileProviderItemFields, contents newContents: URL?, options: NSFileProviderModifyItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (NSFileProviderItem?, NSFileProviderItemFields, Bool, Error?) -> Void) -> Progress { // TODO: an item was modified on disk, process the item's modification let log = self.log.child("modifyItem").trace("invoked(\(item), changedFields: \(changedFields))") @@ -478,7 +478,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { return Progress() } - func deleteItem(identifier: NSFileProviderItemIdentifier, baseVersion version: NSFileProviderItemVersion, options: NSFileProviderDeleteItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (Error?) -> Void) -> Progress { + public func deleteItem(identifier: NSFileProviderItemIdentifier, baseVersion version: NSFileProviderItemVersion, options: NSFileProviderDeleteItemOptions = [], request: NSFileProviderRequest, completionHandler: @escaping (Error?) -> Void) -> Progress { // TODO: an item was deleted on disk, process the item's deletion let log = log.child("deleteItem").trace("invoked(\(identifier))") @@ -515,7 +515,7 @@ class Extension: NSObject, NSFileProviderReplicatedExtension { return Progress() } - func enumerator(for rawIdentifier: NSFileProviderItemIdentifier, request: NSFileProviderRequest) throws -> NSFileProviderEnumerator { + public func enumerator(for rawIdentifier: NSFileProviderItemIdentifier, request: NSFileProviderRequest) throws -> NSFileProviderEnumerator { let identifier = ItemIdentifier(rawIdentifier) let log = self.log.child("enumerator").level(.trace).trace("invoked(\(identifier))") diff --git a/macos/OuisyncFileProvider/Hash.swift b/macos/Backend/Hash.swift similarity index 100% rename from macos/OuisyncFileProvider/Hash.swift rename to macos/Backend/Hash.swift diff --git a/macos/OuisyncFileProvider/Item.swift b/macos/Backend/Item.swift similarity index 100% rename from macos/OuisyncFileProvider/Item.swift rename to macos/Backend/Item.swift diff --git a/macos/OuisyncFileProvider/ItemIdentifier.swift b/macos/Backend/ItemIdentifier.swift similarity index 100% rename from macos/OuisyncFileProvider/ItemIdentifier.swift rename to macos/Backend/ItemIdentifier.swift diff --git a/macos/Common/Log.swift b/macos/Backend/Log.swift similarity index 100% rename from macos/Common/Log.swift rename to macos/Backend/Log.swift diff --git a/macos/OuisyncFileProvider/Path.swift b/macos/Backend/Path.swift similarity index 100% rename from macos/OuisyncFileProvider/Path.swift rename to macos/Backend/Path.swift diff --git a/macos/OuisyncFileProvider/Version.swift b/macos/Backend/Version.swift similarity index 100% rename from macos/OuisyncFileProvider/Version.swift rename to macos/Backend/Version.swift diff --git a/macos/Common/Common.docc/Common.md b/macos/Common/Common.docc/Common.md deleted file mode 100755 index fe40262f8..000000000 --- a/macos/Common/Common.docc/Common.md +++ /dev/null @@ -1,13 +0,0 @@ -# ``Common`` - -Summary - -## Overview - -Text - -## Topics - -### Group - -- ``Symbol`` \ No newline at end of file diff --git a/macos/Common/Common.h b/macos/Common/Common.h deleted file mode 100644 index d70048df4..000000000 --- a/macos/Common/Common.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Common.h -// Common -// -// Created by Peter Jankuliak on 25/03/2024. -// - -#import - -//! Project version number for Common. -FOUNDATION_EXPORT double CommonVersionNumber; - -//! Project version string for Common. -FOUNDATION_EXPORT const unsigned char CommonVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/macos/CommonTests/CommonTests.swift b/macos/CommonTests/CommonTests.swift deleted file mode 100644 index 42012e1d2..000000000 --- a/macos/CommonTests/CommonTests.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// CommonTests.swift -// CommonTests -// -// Created by Peter Jankuliak on 25/03/2024. -// - -import XCTest -@testable import Common - -class CommonTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/macos/OuisyncFileProvider/OuisyncFileProvider.entitlements b/macos/Extension/Entitlements.entitlements similarity index 100% rename from macos/OuisyncFileProvider/OuisyncFileProvider.entitlements rename to macos/Extension/Entitlements.entitlements diff --git a/macos/Extension/EntryPoint.swift b/macos/Extension/EntryPoint.swift new file mode 100644 index 000000000..1daef043d --- /dev/null +++ b/macos/Extension/EntryPoint.swift @@ -0,0 +1,4 @@ +import Backend // bit of a hack until we sort out the visibility + + +final class FileProvider: Extension {} diff --git a/macos/OuisyncFileProvider/Info.plist b/macos/Extension/Info.plist similarity index 90% rename from macos/OuisyncFileProvider/Info.plist rename to macos/Extension/Info.plist index c8a99efb1..898a3d569 100644 --- a/macos/OuisyncFileProvider/Info.plist +++ b/macos/Extension/Info.plist @@ -11,7 +11,7 @@ NSExtensionPointIdentifier com.apple.fileprovider-nonui NSExtensionPrincipalClass - $(PRODUCT_MODULE_NAME).Extension + $(PRODUCT_MODULE_NAME).FileProvider diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 0986a4f74..9c3381928 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 60; objects = { /* Begin PBXAggregateTarget section */ @@ -21,38 +21,35 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 177064332CBEDB00003FEF6C /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 177064322CBEDB00003FEF6C /* LaunchAtLogin */; }; - 1E11B5D92BC00EFA007248F2 /* OuisyncLib in Frameworks */ = {isa = PBXBuildFile; productRef = 1E11B5D82BC00EFA007248F2 /* OuisyncLib */; }; - 1E30CADB2C215BEA00EF65A0 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E30CADA2C215BEA00EF65A0 /* Version.swift */; }; - 1E60DA182BD0218C001422A4 /* Extension+Servicing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E60DA172BD0218C001422A4 /* Extension+Servicing.swift */; }; - 1E60DA1C2BD0FBEE001422A4 /* Path.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E60DA1B2BD0FBEE001422A4 /* Path.swift */; }; + 175AEAC52CE47EF700472952 /* EntryPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 175AEAC22CE47CBC00472952 /* EntryPoint.swift */; }; + 175AEAD02CE47FFF00472952 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD785D2C0F2806005D7636 /* Log.swift */; }; + 175AEAE32CE4850100472952 /* Shutdown.swift in Sources */ = {isa = PBXBuildFile; fileRef = 175AEAE22CE4850100472952 /* Shutdown.swift */; }; + 1780336E2CE492C100291248 /* OuisyncFileProvider.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1EC102BD2BAC66050026BD42 /* OuisyncFileProvider.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 1786CBFB2CE5CC210055B0EE /* Backend.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17D8E5C42CE47C13005D70BC /* Backend.framework */; }; + 1786CBFC2CE5CC210055B0EE /* Backend.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 17D8E5C42CE47C13005D70BC /* Backend.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 1786CC0D2CE5D9670055B0EE /* Backend.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17D8E5C42CE47C13005D70BC /* Backend.framework */; }; + 1786CC0E2CE5D9670055B0EE /* Backend.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 17D8E5C42CE47C13005D70BC /* Backend.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 17D8E5D22CE47C65005D70BC /* Hash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E81CEB02C1C679D00C90095 /* Hash.swift */; }; + 17D8E5D32CE47C65005D70BC /* ItemIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E86CDB52BFE4BF6003A67A0 /* ItemIdentifier.swift */; }; + 17D8E5D42CE47C65005D70BC /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78602C0F40A0005D7636 /* Debug.swift */; }; + 17D8E5D52CE47C65005D70BC /* ExtError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBC4D492BB1B5A50053E2F3 /* ExtError.swift */; }; + 17D8E5D62CE47C65005D70BC /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E30CADA2C215BEA00EF65A0 /* Version.swift */; }; + 17D8E5D72CE47C65005D70BC /* Path.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E60DA1B2BD0FBEE001422A4 /* Path.swift */; }; + 17D8E5D82CE47C65005D70BC /* Anchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78512C00DA62005D7636 /* Anchor.swift */; }; + 17D8E5D92CE47C69005D70BC /* Extension+Servicing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E60DA172BD0218C001422A4 /* Extension+Servicing.swift */; }; + 17D8E5DA2CE47C69005D70BC /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C22BAC66050026BD42 /* Item.swift */; }; + 17D8E5DB2CE47C69005D70BC /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C02BAC66050026BD42 /* Extension.swift */; }; + 17D8E5DC2CE47C69005D70BC /* Enumerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C42BAC66050026BD42 /* Enumerator.swift */; }; + 17DC40282CEA9188009C21A0 /* OuisyncLib in Frameworks */ = {isa = PBXBuildFile; productRef = 17DC40272CEA9188009C21A0 /* OuisyncLib */; }; + 17DC40292CEA92A3009C21A0 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1786CC092CE5D6DE0055B0EE /* SystemConfiguration.framework */; }; + 17DC402B2CEA92E0009C21A0 /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 17DC402A2CEA92E0009C21A0 /* LaunchAtLogin */; }; + 17DC402C2CEA940D009C21A0 /* Common.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; }; + 17DC402D2CEA940D009C21A0 /* Common.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 1E6D33D22BBD4E8A00AFB60E /* FileProviderProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E6D33D12BBD4E8A00AFB60E /* FileProviderProxy.swift */; }; 1E76A0412BB3028600CB6BBE /* FileProviderServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E76A0402BB3028600CB6BBE /* FileProviderServiceProtocol.swift */; }; - 1E81CEB12C1C679D00C90095 /* Hash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E81CEB02C1C679D00C90095 /* Hash.swift */; }; - 1E86CDB62BFE4BF6003A67A0 /* ItemIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E86CDB52BFE4BF6003A67A0 /* ItemIdentifier.swift */; }; - 1EBC4D4A2BB1B5A50053E2F3 /* ExtError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBC4D492BB1B5A50053E2F3 /* ExtError.swift */; }; - 1EBC4D542BB1B6840053E2F3 /* Common.docc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBC4D532BB1B6840053E2F3 /* Common.docc */; }; - 1EBC4D5A2BB1B6850053E2F3 /* Common.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; }; - 1EBC4D612BB1B6850053E2F3 /* CommonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBC4D602BB1B6850053E2F3 /* CommonTests.swift */; }; - 1EBC4D622BB1B6850053E2F3 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBC4D522BB1B6840053E2F3 /* Common.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1EBC4D652BB1B6850053E2F3 /* Common.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; }; - 1EBC4D662BB1B6850053E2F3 /* Common.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 1EBC4D722BB1B70D0053E2F3 /* Common.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 1EC102BE2BAC66050026BD42 /* UniformTypeIdentifiers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E640B172BA44F3500FF6B18 /* UniformTypeIdentifiers.framework */; }; - 1EC102C12BAC66050026BD42 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C02BAC66050026BD42 /* Extension.swift */; }; - 1EC102C32BAC66050026BD42 /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C22BAC66050026BD42 /* Item.swift */; }; - 1EC102C52BAC66050026BD42 /* Enumerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC102C42BAC66050026BD42 /* Enumerator.swift */; }; - 1EC102CA2BAC66050026BD42 /* OuisyncFileProvider.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1EC102BD2BAC66050026BD42 /* OuisyncFileProvider.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 1ECD78522C00DA62005D7636 /* Anchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78512C00DA62005D7636 /* Anchor.swift */; }; - 1ECD78572C0DBAE5005D7636 /* Common.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; }; 1ECD785B2C0DC0DF005D7636 /* SuccessfulTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78552C0DAD46005D7636 /* SuccessfulTask.swift */; }; - 1ECD785C2C0DCF24005D7636 /* SuccessfulTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78552C0DAD46005D7636 /* SuccessfulTask.swift */; }; - 1ECD785E2C0F2806005D7636 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD785D2C0F2806005D7636 /* Log.swift */; }; - 1ECD785F2C0F2C53005D7636 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD785D2C0F2806005D7636 /* Log.swift */; }; - 1ECD78612C0F40A0005D7636 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD78602C0F40A0005D7636 /* Debug.swift */; }; - 1EE0483C2C4A6CD900A653F2 /* OuisyncLib in Frameworks */ = {isa = PBXBuildFile; productRef = 1EE0483B2C4A6CD900A653F2 /* OuisyncLib */; }; 1EE048512C4FB4BC00A653F2 /* Directories.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE048502C4FB4BC00A653F2 /* Directories.swift */; }; - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 331C80D8294CF71000263BE5 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* Environment.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; @@ -63,48 +60,55 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1EBC4D5B2BB1B6850053E2F3 /* PBXContainerItemProxy */ = { + 175AEAE02CE483D900472952 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; remoteGlobalIDString = 1EBC4D4F2BB1B6840053E2F3; remoteInfo = Common; }; - 1EBC4D5D2BB1B6850053E2F3 /* PBXContainerItemProxy */ = { + 1780336F2CE492C100291248 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; + remoteGlobalIDString = 1EC102BC2BAC66050026BD42; + remoteInfo = OuisyncFileProvider; }; - 1EBC4D632BB1B6850053E2F3 /* PBXContainerItemProxy */ = { + 1786CBFD2CE5CC210055B0EE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1EBC4D4F2BB1B6840053E2F3; - remoteInfo = Common; + remoteGlobalIDString = 17D8E5C32CE47C13005D70BC; + remoteInfo = Backend; }; - 1EBC4D732BB1B70D0053E2F3 /* PBXContainerItemProxy */ = { + 1786CC0F2CE5D9670055B0EE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1EBC4D4F2BB1B6840053E2F3; - remoteInfo = Common; + remoteGlobalIDString = 17D8E5C32CE47C13005D70BC; + remoteInfo = Backend; }; - 1EC102C82BAC66050026BD42 /* PBXContainerItemProxy */ = { + 17D8E5B92CE40C00005D70BC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; remoteGlobalIDString = 1EC102BC2BAC66050026BD42; remoteInfo = OuisyncFileProvider; }; - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + 17D8E5BB2CE40C00005D70BC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; remoteGlobalIDString = 33CC10EC2044A3C60003C045; remoteInfo = Runner; }; + 17DC402E2CEA940D009C21A0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1EBC4D4F2BB1B6840053E2F3; + remoteInfo = Common; + }; 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; @@ -115,35 +119,46 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 1E640B252BA44F3500FF6B18 /* Embed Foundation Extensions */ = { + 178033712CE492C100291248 /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( - 1EC102CA2BAC66050026BD42 /* OuisyncFileProvider.appex in Embed Foundation Extensions */, + 1780336E2CE492C100291248 /* OuisyncFileProvider.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; }; - 1EBC4D6B2BB1B6850053E2F3 /* Embed Frameworks */ = { + 1786CBFF2CE5CC210055B0EE /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 1EBC4D662BB1B6850053E2F3 /* Common.framework in Embed Frameworks */, + 1786CBFC2CE5CC210055B0EE /* Backend.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 1EBC4D752BB1B70D0053E2F3 /* Embed Frameworks */ = { + 1786CC112CE5D9670055B0EE /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 1EBC4D722BB1B70D0053E2F3 /* Common.framework in Embed Frameworks */, + 1786CC0E2CE5D9670055B0EE /* Backend.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 17DC40302CEA940D009C21A0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 17DC402D2CEA940D009C21A0 /* Common.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -151,6 +166,11 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 175AEAC22CE47CBC00472952 /* EntryPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EntryPoint.swift; sourceTree = ""; }; + 175AEAE22CE4850100472952 /* Shutdown.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shutdown.swift; sourceTree = ""; }; + 1786CC062CE5D44D0055B0EE /* libouisync_ffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libouisync_ffi.a; path = ../../libouisync_ffi.a; sourceTree = ""; }; + 1786CC092CE5D6DE0055B0EE /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 17D8E5C42CE47C13005D70BC /* Backend.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Backend.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1E12D5CBA9317F3CD740717A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1E30CADA2C215BEA00EF65A0 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; 1E60DA172BD0218C001422A4 /* Extension+Servicing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+Servicing.swift"; sourceTree = ""; }; @@ -162,16 +182,12 @@ 1E86CDB52BFE4BF6003A67A0 /* ItemIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemIdentifier.swift; sourceTree = ""; }; 1EBC4D492BB1B5A50053E2F3 /* ExtError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtError.swift; sourceTree = ""; }; 1EBC4D502BB1B6840053E2F3 /* Common.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Common.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EBC4D522BB1B6840053E2F3 /* Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = ""; }; - 1EBC4D532BB1B6840053E2F3 /* Common.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = Common.docc; sourceTree = ""; }; - 1EBC4D592BB1B6850053E2F3 /* CommonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CommonTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EBC4D602BB1B6850053E2F3 /* CommonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonTests.swift; sourceTree = ""; }; 1EC102BD2BAC66050026BD42 /* OuisyncFileProvider.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OuisyncFileProvider.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 1EC102C02BAC66050026BD42 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; 1EC102C22BAC66050026BD42 /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = ""; }; 1EC102C42BAC66050026BD42 /* Enumerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Enumerator.swift; sourceTree = ""; }; 1EC102C62BAC66050026BD42 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1EC102C72BAC66050026BD42 /* OuisyncFileProvider.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OuisyncFileProvider.entitlements; sourceTree = ""; }; + 1EC102C72BAC66050026BD42 /* Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Entitlements.entitlements; sourceTree = ""; }; 1ECD78512C00DA62005D7636 /* Anchor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Anchor.swift; sourceTree = ""; }; 1ECD78552C0DAD46005D7636 /* SuccessfulTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessfulTask.swift; sourceTree = ""; }; 1ECD785D2C0F2806005D7636 /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = ""; }; @@ -180,7 +196,7 @@ 25420BEC609102AA8183D515 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 30CDA840AD45D32461319ABD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C80D7294CF71000263BE5 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; 33CC10ED2044A3C60003C045 /* Ouisync.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ouisync.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -205,18 +221,20 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1EBC4D4D2BB1B6840053E2F3 /* Frameworks */ = { + 17D8E5C12CE47C13005D70BC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 17DC402C2CEA940D009C21A0 /* Common.framework in Frameworks */, + 17DC40292CEA92A3009C21A0 /* SystemConfiguration.framework in Frameworks */, + 17DC40282CEA9188009C21A0 /* OuisyncLib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1EBC4D562BB1B6850053E2F3 /* Frameworks */ = { + 1EBC4D4D2BB1B6840053E2F3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1EBC4D5A2BB1B6850053E2F3 /* Common.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -224,9 +242,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1E11B5D92BC00EFA007248F2 /* OuisyncLib in Frameworks */, - 1ECD78572C0DBAE5005D7636 /* Common.framework in Frameworks */, - 1EC102BE2BAC66050026BD42 /* UniformTypeIdentifiers.framework in Frameworks */, + 1786CBFB2CE5CC210055B0EE /* Backend.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -235,6 +251,7 @@ buildActionMask = 2147483647; files = ( EA1E56409A2392D3D6400A25 /* Pods_RunnerTests.framework in Frameworks */, + 1786CC0D2CE5D9670055B0EE /* Backend.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -242,9 +259,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1EE0483C2C4A6CD900A653F2 /* OuisyncLib in Frameworks */, - 1EBC4D652BB1B6850053E2F3 /* Common.framework in Frameworks */, - 177064332CBEDB00003FEF6C /* LaunchAtLogin in Frameworks */, + 17DC402B2CEA92E0009C21A0 /* LaunchAtLogin in Frameworks */, 834BDDB917752395531F009D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -252,36 +267,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1EBC4D512BB1B6840053E2F3 /* Common */ = { + 17D8E5C52CE47C13005D70BC /* Backend */ = { isa = PBXGroup; children = ( - 1EBC4D522BB1B6840053E2F3 /* Common.h */, - 1EBC4D532BB1B6840053E2F3 /* Common.docc */, - 1E76A0402BB3028600CB6BBE /* FileProviderServiceProtocol.swift */, - 1ECD78552C0DAD46005D7636 /* SuccessfulTask.swift */, 1ECD785D2C0F2806005D7636 /* Log.swift */, - 1EE048502C4FB4BC00A653F2 /* Directories.swift */, - ); - path = Common; - sourceTree = ""; - }; - 1EBC4D5F2BB1B6850053E2F3 /* CommonTests */ = { - isa = PBXGroup; - children = ( - 1EBC4D602BB1B6850053E2F3 /* CommonTests.swift */, - ); - path = CommonTests; - sourceTree = ""; - }; - 1EC102BF2BAC66050026BD42 /* OuisyncFileProvider */ = { - isa = PBXGroup; - children = ( 1EC102C02BAC66050026BD42 /* Extension.swift */, 1E60DA172BD0218C001422A4 /* Extension+Servicing.swift */, 1EC102C42BAC66050026BD42 /* Enumerator.swift */, 1EC102C22BAC66050026BD42 /* Item.swift */, - 1EC102C62BAC66050026BD42 /* Info.plist */, - 1EC102C72BAC66050026BD42 /* OuisyncFileProvider.entitlements */, 1EBC4D492BB1B5A50053E2F3 /* ExtError.swift */, 1E60DA1B2BD0FBEE001422A4 /* Path.swift */, 1E86CDB52BFE4BF6003A67A0 /* ItemIdentifier.swift */, @@ -290,7 +283,27 @@ 1E81CEB02C1C679D00C90095 /* Hash.swift */, 1E30CADA2C215BEA00EF65A0 /* Version.swift */, ); - path = OuisyncFileProvider; + path = Backend; + sourceTree = ""; + }; + 1EBC4D512BB1B6840053E2F3 /* Common */ = { + isa = PBXGroup; + children = ( + 1E76A0402BB3028600CB6BBE /* FileProviderServiceProtocol.swift */, + 1ECD78552C0DAD46005D7636 /* SuccessfulTask.swift */, + 1EE048502C4FB4BC00A653F2 /* Directories.swift */, + ); + path = Common; + sourceTree = ""; + }; + 1EC102BF2BAC66050026BD42 /* Extension */ = { + isa = PBXGroup; + children = ( + 1EC102C62BAC66050026BD42 /* Info.plist */, + 1EC102C72BAC66050026BD42 /* Entitlements.entitlements */, + 175AEAC22CE47CBC00472952 /* EntryPoint.swift */, + ); + path = Extension; sourceTree = ""; }; 267564F1B9680359EEA21D4B /* Pods */ = { @@ -306,12 +319,13 @@ path = Pods; sourceTree = ""; }; - 331C80D6294CF71000263BE5 /* RunnerTests */ = { + 331C80D6294CF71000263BE5 /* Tests */ = { isa = PBXGroup; children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + 331C80D7294CF71000263BE5 /* Environment.swift */, + 175AEAE22CE4850100472952 /* Shutdown.swift */, ); - path = RunnerTests; + path = Tests; sourceTree = ""; }; 33BA886A226E78AF003329D5 /* Configs */ = { @@ -328,14 +342,14 @@ 33CC10E42044A3C60003C045 = { isa = PBXGroup; children = ( - 33FAB671232836740065AC1E /* Runner */, 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 1EC102BF2BAC66050026BD42 /* OuisyncFileProvider */, 1EBC4D512BB1B6840053E2F3 /* Common */, - 1EBC4D5F2BB1B6850053E2F3 /* CommonTests */, + 17D8E5C52CE47C13005D70BC /* Backend */, + 33FAB671232836740065AC1E /* Runner */, + 331C80D6294CF71000263BE5 /* Tests */, 33CC10EE2044A3C60003C045 /* Products */, 267564F1B9680359EEA21D4B /* Pods */, + 1EC102BF2BAC66050026BD42 /* Extension */, D09E101972792C677877D348 /* Frameworks */, ); sourceTree = ""; @@ -347,7 +361,7 @@ 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, 1EC102BD2BAC66050026BD42 /* OuisyncFileProvider.appex */, 1EBC4D502BB1B6840053E2F3 /* Common.framework */, - 1EBC4D592BB1B6850053E2F3 /* CommonTests.xctest */, + 17D8E5C42CE47C13005D70BC /* Backend.framework */, ); name = Products; sourceTree = ""; @@ -391,6 +405,8 @@ D09E101972792C677877D348 /* Frameworks */ = { isa = PBXGroup; children = ( + 1786CC092CE5D6DE0055B0EE /* SystemConfiguration.framework */, + 1786CC062CE5D44D0055B0EE /* libouisync_ffi.a */, 1E640B172BA44F3500FF6B18 /* UniformTypeIdentifiers.framework */, 7A93B26F8F192724B261AEB0 /* Pods_Runner.framework */, 1E12D5CBA9317F3CD740717A /* Pods_RunnerTests.framework */, @@ -401,17 +417,46 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 17D8E5BF2CE47C13005D70BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 1EBC4D4B2BB1B6840053E2F3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1EBC4D622BB1B6850053E2F3 /* Common.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 17D8E5C32CE47C13005D70BC /* Backend */ = { + isa = PBXNativeTarget; + buildConfigurationList = 17D8E5CE2CE47C13005D70BC /* Build configuration list for PBXNativeTarget "Backend" */; + buildPhases = ( + 17D8E5BF2CE47C13005D70BC /* Headers */, + 17D8E5C02CE47C13005D70BC /* Sources */, + 17D8E5C12CE47C13005D70BC /* Frameworks */, + 17D8E5C22CE47C13005D70BC /* Resources */, + 17DC40302CEA940D009C21A0 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 17DC402F2CEA940D009C21A0 /* PBXTargetDependency */, + ); + name = Backend; + packageProductDependencies = ( + 17DC40272CEA9188009C21A0 /* OuisyncLib */, + ); + productName = Backend; + productReference = 17D8E5C42CE47C13005D70BC /* Backend.framework */; + productType = "com.apple.product-type.framework"; + }; 1EBC4D4F2BB1B6840053E2F3 /* Common */ = { isa = PBXNativeTarget; buildConfigurationList = 1EBC4D672BB1B6850053E2F3 /* Build configuration list for PBXNativeTarget "Common" */; @@ -430,25 +475,6 @@ productReference = 1EBC4D502BB1B6840053E2F3 /* Common.framework */; productType = "com.apple.product-type.framework"; }; - 1EBC4D582BB1B6850053E2F3 /* CommonTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1EBC4D6C2BB1B6850053E2F3 /* Build configuration list for PBXNativeTarget "CommonTests" */; - buildPhases = ( - 1EBC4D552BB1B6850053E2F3 /* Sources */, - 1EBC4D562BB1B6850053E2F3 /* Frameworks */, - 1EBC4D572BB1B6850053E2F3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 1EBC4D5C2BB1B6850053E2F3 /* PBXTargetDependency */, - 1EBC4D5E2BB1B6850053E2F3 /* PBXTargetDependency */, - ); - name = CommonTests; - productName = CommonTests; - productReference = 1EBC4D592BB1B6850053E2F3 /* CommonTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 1EC102BC2BAC66050026BD42 /* OuisyncFileProvider */ = { isa = PBXNativeTarget; buildConfigurationList = 1EC102CB2BAC66050026BD42 /* Build configuration list for PBXNativeTarget "OuisyncFileProvider" */; @@ -456,16 +482,15 @@ 1EC102B92BAC66050026BD42 /* Sources */, 1EC102BA2BAC66050026BD42 /* Frameworks */, 1EC102BB2BAC66050026BD42 /* Resources */, - 1EBC4D752BB1B70D0053E2F3 /* Embed Frameworks */, + 1786CBFF2CE5CC210055B0EE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 1EBC4D742BB1B70D0053E2F3 /* PBXTargetDependency */, + 1786CBFE2CE5CC210055B0EE /* PBXTargetDependency */, ); name = OuisyncFileProvider; packageProductDependencies = ( - 1E11B5D82BC00EFA007248F2 /* OuisyncLib */, ); productName = OuisyncFileProvider; productReference = 1EC102BD2BAC66050026BD42 /* OuisyncFileProvider.appex */; @@ -479,13 +504,19 @@ 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, + 1786CC112CE5D9670055B0EE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + 17D8E5BA2CE40C00005D70BC /* PBXTargetDependency */, + 17D8E5BC2CE40C00005D70BC /* PBXTargetDependency */, + 175AEAE12CE483D900472952 /* PBXTargetDependency */, + 1786CC102CE5D9670055B0EE /* PBXTargetDependency */, ); name = RunnerTests; + packageProductDependencies = ( + ); productName = RunnerTests; productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -499,21 +530,18 @@ 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 3399D490228B24CF009A79C7 /* ShellScript */, - 1E640B252BA44F3500FF6B18 /* Embed Foundation Extensions */, - 1EBC4D6B2BB1B6850053E2F3 /* Embed Frameworks */, 96B17C14719DCB83218A0FC2 /* [CP] Embed Pods Frameworks */, + 178033712CE492C100291248 /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( 33CC11202044C79F0003C045 /* PBXTargetDependency */, - 1EC102C92BAC66050026BD42 /* PBXTargetDependency */, - 1EBC4D642BB1B6850053E2F3 /* PBXTargetDependency */, + 178033702CE492C100291248 /* PBXTargetDependency */, ); name = Runner; packageProductDependencies = ( - 1EE0483B2C4A6CD900A653F2 /* OuisyncLib */, - 177064322CBEDB00003FEF6C /* LaunchAtLogin */, + 17DC402A2CEA92E0009C21A0 /* LaunchAtLogin */, ); productName = Runner; productReference = 33CC10ED2044A3C60003C045 /* Ouisync.app */; @@ -527,15 +555,14 @@ attributes = { BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1530; - LastUpgradeCheck = 1510; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = ""; TargetAttributes = { - 1EBC4D4F2BB1B6840053E2F3 = { - CreatedOnToolsVersion = 15.3; + 17D8E5C32CE47C13005D70BC = { + CreatedOnToolsVersion = 15.2; }; - 1EBC4D582BB1B6850053E2F3 = { + 1EBC4D4F2BB1B6840053E2F3 = { CreatedOnToolsVersion = 15.3; - TestTargetID = 33CC10EC2044A3C60003C045; }; 1EC102BC2BAC66050026BD42 = { CreatedOnToolsVersion = 15.3; @@ -547,7 +574,6 @@ 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.Sandbox = { enabled = 1; @@ -582,20 +608,20 @@ 33CC111A2044C6BA0003C045 /* Flutter Assemble */, 1EC102BC2BAC66050026BD42 /* OuisyncFileProvider */, 1EBC4D4F2BB1B6840053E2F3 /* Common */, - 1EBC4D582BB1B6850053E2F3 /* CommonTests */, + 17D8E5C32CE47C13005D70BC /* Backend */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 1EBC4D4E2BB1B6840053E2F3 /* Resources */ = { + 17D8E5C22CE47C13005D70BC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 1EBC4D572BB1B6850053E2F3 /* Resources */ = { + 1EBC4D4E2BB1B6840053E2F3 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -730,23 +756,32 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 1EBC4D4C2BB1B6840053E2F3 /* Sources */ = { + 17D8E5C02CE47C13005D70BC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1EBC4D542BB1B6840053E2F3 /* Common.docc in Sources */, - 1EE048512C4FB4BC00A653F2 /* Directories.swift in Sources */, - 1E76A0412BB3028600CB6BBE /* FileProviderServiceProtocol.swift in Sources */, - 1ECD785B2C0DC0DF005D7636 /* SuccessfulTask.swift in Sources */, - 1ECD785E2C0F2806005D7636 /* Log.swift in Sources */, + 17D8E5D52CE47C65005D70BC /* ExtError.swift in Sources */, + 17D8E5DA2CE47C69005D70BC /* Item.swift in Sources */, + 175AEAD02CE47FFF00472952 /* Log.swift in Sources */, + 17D8E5D82CE47C65005D70BC /* Anchor.swift in Sources */, + 17D8E5DC2CE47C69005D70BC /* Enumerator.swift in Sources */, + 17D8E5D62CE47C65005D70BC /* Version.swift in Sources */, + 17D8E5D22CE47C65005D70BC /* Hash.swift in Sources */, + 17D8E5DB2CE47C69005D70BC /* Extension.swift in Sources */, + 17D8E5D42CE47C65005D70BC /* Debug.swift in Sources */, + 17D8E5D72CE47C65005D70BC /* Path.swift in Sources */, + 17D8E5D92CE47C69005D70BC /* Extension+Servicing.swift in Sources */, + 17D8E5D32CE47C65005D70BC /* ItemIdentifier.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1EBC4D552BB1B6850053E2F3 /* Sources */ = { + 1EBC4D4C2BB1B6840053E2F3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1EBC4D612BB1B6850053E2F3 /* CommonTests.swift in Sources */, + 1EE048512C4FB4BC00A653F2 /* Directories.swift in Sources */, + 1E76A0412BB3028600CB6BBE /* FileProviderServiceProtocol.swift in Sources */, + 1ECD785B2C0DC0DF005D7636 /* SuccessfulTask.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -754,19 +789,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1E60DA1C2BD0FBEE001422A4 /* Path.swift in Sources */, - 1E81CEB12C1C679D00C90095 /* Hash.swift in Sources */, - 1ECD78612C0F40A0005D7636 /* Debug.swift in Sources */, - 1EC102C12BAC66050026BD42 /* Extension.swift in Sources */, - 1ECD785F2C0F2C53005D7636 /* Log.swift in Sources */, - 1E30CADB2C215BEA00EF65A0 /* Version.swift in Sources */, - 1ECD78522C00DA62005D7636 /* Anchor.swift in Sources */, - 1EC102C32BAC66050026BD42 /* Item.swift in Sources */, - 1EBC4D4A2BB1B5A50053E2F3 /* ExtError.swift in Sources */, - 1EC102C52BAC66050026BD42 /* Enumerator.swift in Sources */, - 1E60DA182BD0218C001422A4 /* Extension+Servicing.swift in Sources */, - 1ECD785C2C0DCF24005D7636 /* SuccessfulTask.swift in Sources */, - 1E86CDB62BFE4BF6003A67A0 /* ItemIdentifier.swift in Sources */, + 175AEAC52CE47EF700472952 /* EntryPoint.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -774,7 +797,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + 331C80D8294CF71000263BE5 /* Environment.swift in Sources */, + 175AEAE32CE4850100472952 /* Shutdown.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -792,35 +816,40 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 1EBC4D5C2BB1B6850053E2F3 /* PBXTargetDependency */ = { + 175AEAE12CE483D900472952 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 1EBC4D4F2BB1B6840053E2F3 /* Common */; - targetProxy = 1EBC4D5B2BB1B6850053E2F3 /* PBXContainerItemProxy */; + targetProxy = 175AEAE02CE483D900472952 /* PBXContainerItemProxy */; }; - 1EBC4D5E2BB1B6850053E2F3 /* PBXTargetDependency */ = { + 178033702CE492C100291248 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 1EBC4D5D2BB1B6850053E2F3 /* PBXContainerItemProxy */; + target = 1EC102BC2BAC66050026BD42 /* OuisyncFileProvider */; + targetProxy = 1780336F2CE492C100291248 /* PBXContainerItemProxy */; }; - 1EBC4D642BB1B6850053E2F3 /* PBXTargetDependency */ = { + 1786CBFE2CE5CC210055B0EE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 1EBC4D4F2BB1B6840053E2F3 /* Common */; - targetProxy = 1EBC4D632BB1B6850053E2F3 /* PBXContainerItemProxy */; + target = 17D8E5C32CE47C13005D70BC /* Backend */; + targetProxy = 1786CBFD2CE5CC210055B0EE /* PBXContainerItemProxy */; }; - 1EBC4D742BB1B70D0053E2F3 /* PBXTargetDependency */ = { + 1786CC102CE5D9670055B0EE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 1EBC4D4F2BB1B6840053E2F3 /* Common */; - targetProxy = 1EBC4D732BB1B70D0053E2F3 /* PBXContainerItemProxy */; + target = 17D8E5C32CE47C13005D70BC /* Backend */; + targetProxy = 1786CC0F2CE5D9670055B0EE /* PBXContainerItemProxy */; }; - 1EC102C92BAC66050026BD42 /* PBXTargetDependency */ = { + 17D8E5BA2CE40C00005D70BC /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 1EC102BC2BAC66050026BD42 /* OuisyncFileProvider */; - targetProxy = 1EC102C82BAC66050026BD42 /* PBXContainerItemProxy */; + targetProxy = 17D8E5B92CE40C00005D70BC /* PBXContainerItemProxy */; }; - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + 17D8E5BC2CE40C00005D70BC /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + targetProxy = 17D8E5BB2CE40C00005D70BC /* PBXContainerItemProxy */; + }; + 17DC402F2CEA940D009C21A0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1EBC4D4F2BB1B6840053E2F3 /* Common */; + targetProxy = 17DC402E2CEA940D009C21A0 /* PBXContainerItemProxy */; }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -842,12 +871,10 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 1EBC4D682BB1B6850053E2F3 /* Debug */ = { + 17D8E5CF2CE47C13005D70BC /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -857,9 +884,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5SR9R72Z83; DYLIB_COMPATIBILITY_VERSION = 1; @@ -873,13 +902,17 @@ INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", + /usr/lib/swift, + "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)/", + "$(SDKROOT)/usr/lib/swift", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; @@ -887,28 +920,70 @@ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.Common; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-framework", + "\"Foundation\"", + "-framework", + "\"Sentry\"", + "-framework", + "\"biometric_storage\"", + "-framework", + "\"connectivity_plus\"", + "-framework", + "\"cryptography_flutter\"", + "-framework", + "\"desktop_drop\"", + "-framework", + "\"device_info_plus\"", + "-framework", + "\"flutter_secure_storage_macos\"", + "-framework", + "\"local_auth_darwin\"", + "-framework", + "\"mobile_scanner\"", + "-framework", + "\"network_info_plus\"", + "-framework", + "\"ouisync\"", + "-framework", + "\"package_info_plus\"", + "-framework", + "\"path_provider_foundation\"", + "-framework", + "\"screen_retriever\"", + "-framework", + "\"sentry_flutter\"", + "-framework", + "\"share_plus\"", + "-framework", + "\"shared_preferences_foundation\"", + "-framework", + "\"system_tray\"", + "-framework", + "\"url_launcher_macos\"", + "-framework", + "\"webview_flutter_wkwebview\"", + "-framework", + "\"window_manager\"", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Backend; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = auto; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = macosx; - SUPPORTS_MACCATALYST = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 1EBC4D692BB1B6850053E2F3 /* Release */ = { + 17D8E5D02CE47C13005D70BC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -918,9 +993,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5SR9R72Z83; DYLIB_COMPATIBILITY_VERSION = 1; @@ -934,40 +1011,86 @@ INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", + /usr/lib/swift, + "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)/", + "$(SDKROOT)/usr/lib/swift", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.Common; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-framework", + "\"Foundation\"", + "-framework", + "\"Sentry\"", + "-framework", + "\"biometric_storage\"", + "-framework", + "\"connectivity_plus\"", + "-framework", + "\"cryptography_flutter\"", + "-framework", + "\"desktop_drop\"", + "-framework", + "\"device_info_plus\"", + "-framework", + "\"flutter_secure_storage_macos\"", + "-framework", + "\"local_auth_darwin\"", + "-framework", + "\"mobile_scanner\"", + "-framework", + "\"network_info_plus\"", + "-framework", + "\"ouisync\"", + "-framework", + "\"package_info_plus\"", + "-framework", + "\"path_provider_foundation\"", + "-framework", + "\"screen_retriever\"", + "-framework", + "\"sentry_flutter\"", + "-framework", + "\"share_plus\"", + "-framework", + "\"shared_preferences_foundation\"", + "-framework", + "\"system_tray\"", + "-framework", + "\"url_launcher_macos\"", + "-framework", + "\"webview_flutter_wkwebview\"", + "-framework", + "\"window_manager\"", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Backend; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = auto; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = macosx; - SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 1EBC4D6A2BB1B6850053E2F3 /* Profile */ = { + 17D8E5D12CE47C13005D70BC /* Profile */ = { isa = XCBuildConfiguration; buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -977,9 +1100,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5SR9R72Z83; DYLIB_COMPATIBILITY_VERSION = 1; @@ -993,40 +1118,88 @@ INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", + /usr/lib/swift, + "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)/", + "$(SDKROOT)/usr/lib/swift", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.Common; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-framework", + "\"Foundation\"", + "-framework", + "\"Sentry\"", + "-framework", + "\"biometric_storage\"", + "-framework", + "\"connectivity_plus\"", + "-framework", + "\"cryptography_flutter\"", + "-framework", + "\"desktop_drop\"", + "-framework", + "\"device_info_plus\"", + "-framework", + "\"flutter_secure_storage_macos\"", + "-framework", + "\"local_auth_darwin\"", + "-framework", + "\"mobile_scanner\"", + "-framework", + "\"network_info_plus\"", + "-framework", + "\"ouisync\"", + "-framework", + "\"package_info_plus\"", + "-framework", + "\"path_provider_foundation\"", + "-framework", + "\"screen_retriever\"", + "-framework", + "\"sentry_flutter\"", + "-framework", + "\"share_plus\"", + "-framework", + "\"shared_preferences_foundation\"", + "-framework", + "\"system_tray\"", + "-framework", + "\"url_launcher_macos\"", + "-framework", + "\"webview_flutter_wkwebview\"", + "-framework", + "\"window_manager\"", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Backend; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = auto; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = macosx; - SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Profile; }; - 1EBC4D6D2BB1B6850053E2F3 /* Debug */ = { + 1EBC4D682BB1B6850053E2F3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -1036,37 +1209,61 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.CommonTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Common; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = auto; + SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = macosx; SUPPORTS_MACCATALYST = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 1EBC4D6E2BB1B6850053E2F3 /* Release */ = { + 1EBC4D692BB1B6850053E2F3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -1076,35 +1273,59 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.CommonTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Common; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = auto; + SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = macosx; SUPPORTS_MACCATALYST = NO; - SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 1EBC4D6F2BB1B6850053E2F3 /* Profile */ = { + 1EBC4D6A2BB1B6850053E2F3 /* Profile */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_COMMA = YES; @@ -1114,26 +1335,50 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.CommonTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Common; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = auto; + SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = macosx; SUPPORTS_MACCATALYST = NO; - SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Profile; }; @@ -1150,18 +1395,20 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_ENTITLEMENTS = OuisyncFileProvider/OuisyncFileProvider.entitlements; + CODE_SIGN_ENTITLEMENTS = Extension/Entitlements.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 64; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; ENABLE_HARDENED_RUNTIME = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = OuisyncFileProvider/Info.plist; + INFOPLIST_FILE = Extension/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OuisyncFileProvider; INFOPLIST_KEY_NSHumanReadableCopyright = ""; LD_RUNPATH_SEARCH_PATHS = ( @@ -1182,6 +1429,7 @@ OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.OuisyncFileProvider; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1202,18 +1450,20 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_ENTITLEMENTS = OuisyncFileProvider/OuisyncFileProvider.entitlements; + CODE_SIGN_ENTITLEMENTS = Extension/Entitlements.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 64; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; ENABLE_HARDENED_RUNTIME = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = OuisyncFileProvider/Info.plist; + INFOPLIST_FILE = Extension/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OuisyncFileProvider; INFOPLIST_KEY_NSHumanReadableCopyright = ""; LD_RUNPATH_SEARCH_PATHS = ( @@ -1233,6 +1483,7 @@ OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.OuisyncFileProvider; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -1252,18 +1503,20 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_ENTITLEMENTS = OuisyncFileProvider/OuisyncFileProvider.entitlements; + CODE_SIGN_ENTITLEMENTS = Extension/Entitlements.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 64; DEAD_CODE_STRIPPING = YES; + DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 5SR9R72Z83; ENABLE_HARDENED_RUNTIME = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_WARN_UNDECLARED_SELECTOR = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = OuisyncFileProvider/Info.plist; + INFOPLIST_FILE = Extension/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = OuisyncFileProvider; INFOPLIST_KEY_NSHumanReadableCopyright = ""; LD_RUNPATH_SEARCH_PATHS = ( @@ -1283,6 +1536,7 @@ OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.OuisyncFileProvider; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -1294,15 +1548,19 @@ baseConfigurationReference = 6268A4AB5F2F8FC80AB1C74F /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = 5SR9R72Z83; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ouisync_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ouisync_app"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; }; name = Debug; }; @@ -1311,15 +1569,19 @@ baseConfigurationReference = B8366DAD4EC8D33CA612DFA6 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = 5SR9R72Z83; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ouisync_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ouisync_app"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; }; name = Release; }; @@ -1328,15 +1590,19 @@ baseConfigurationReference = 25420BEC609102AA8183D515 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = 5SR9R72Z83; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisyncApp.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = org.equalitie.ouisync.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ouisync_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ouisync_app"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Ouisync.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Ouisync"; }; name = Profile; }; @@ -1372,6 +1638,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1391,11 +1658,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEAD_CODE_STRIPPING = YES; @@ -1510,6 +1776,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1529,11 +1796,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEAD_CODE_STRIPPING = YES; @@ -1557,11 +1823,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEAD_CODE_STRIPPING = YES; @@ -1603,22 +1868,22 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1EBC4D672BB1B6850053E2F3 /* Build configuration list for PBXNativeTarget "Common" */ = { + 17D8E5CE2CE47C13005D70BC /* Build configuration list for PBXNativeTarget "Backend" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1EBC4D682BB1B6850053E2F3 /* Debug */, - 1EBC4D692BB1B6850053E2F3 /* Release */, - 1EBC4D6A2BB1B6850053E2F3 /* Profile */, + 17D8E5CF2CE47C13005D70BC /* Debug */, + 17D8E5D02CE47C13005D70BC /* Release */, + 17D8E5D12CE47C13005D70BC /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1EBC4D6C2BB1B6850053E2F3 /* Build configuration list for PBXNativeTarget "CommonTests" */ = { + 1EBC4D672BB1B6850053E2F3 /* Build configuration list for PBXNativeTarget "Common" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1EBC4D6D2BB1B6850053E2F3 /* Debug */, - 1EBC4D6E2BB1B6850053E2F3 /* Release */, - 1EBC4D6F2BB1B6850053E2F3 /* Profile */, + 1EBC4D682BB1B6850053E2F3 /* Debug */, + 1EBC4D692BB1B6850053E2F3 /* Release */, + 1EBC4D6A2BB1B6850053E2F3 /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1694,18 +1959,14 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 177064322CBEDB00003FEF6C /* LaunchAtLogin */ = { - isa = XCSwiftPackageProductDependency; - package = 177064312CBEDB00003FEF6C /* XCRemoteSwiftPackageReference "LaunchAtLogin" */; - productName = LaunchAtLogin; - }; - 1E11B5D82BC00EFA007248F2 /* OuisyncLib */ = { + 17DC40272CEA9188009C21A0 /* OuisyncLib */ = { isa = XCSwiftPackageProductDependency; productName = OuisyncLib; }; - 1EE0483B2C4A6CD900A653F2 /* OuisyncLib */ = { + 17DC402A2CEA92E0009C21A0 /* LaunchAtLogin */ = { isa = XCSwiftPackageProductDependency; - productName = OuisyncLib; + package = 177064312CBEDB00003FEF6C /* XCRemoteSwiftPackageReference "LaunchAtLogin" */; + productName = LaunchAtLogin; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 6181f340c..0a03a32e2 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@