From 92062889d76338a2b51cc640a69339cbe51acd65 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:02:03 -0500 Subject: [PATCH 1/9] Update target to iOS 12 --- src/cordova/apple/README.md | 2 +- .../apple/xcode/ios/Outline.xcodeproj/project.pbxproj | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/cordova/apple/README.md b/src/cordova/apple/README.md index a0fd2353fd9..9c947a5a6f4 100644 --- a/src/cordova/apple/README.md +++ b/src/cordova/apple/README.md @@ -7,7 +7,7 @@ This document describes how to develop and debug for macOS (formerly known as OS You will need: - An Apple Developer Account. You will need to be invited to your developer team as well. -- XCode 13.2+ ([download](https://developer.apple.com/xcode/)) +- XCode 15.0+ ([download](https://developer.apple.com/xcode/)) - XCode command line tools: `xcode-select --install` > NOTE: Should you encounter issues with your build, there may be apple-specific dependencies that are out of date. Run `npm run reset` and try again! diff --git a/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index c4d27dcb8c7..394c0a02007 100755 --- a/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -669,7 +669,6 @@ GCC_THUMB_SUPPORT = NO; GCC_VERSION = ""; INFOPLIST_FILE = "Outline/Outline-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client; @@ -716,7 +715,6 @@ GCC_THUMB_SUPPORT = NO; GCC_VERSION = ""; INFOPLIST_FILE = "Outline/Outline-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client; @@ -1081,7 +1079,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.15; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1124,7 +1122,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.15; SDKROOT = iphoneos; SKIP_INSTALL = NO; From b76c86dd3ab4b8c22e0ccf1a9c558c0594287dc8 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:48:58 -0500 Subject: [PATCH 2/9] Move VPN Extension to subproject --- .../OutlineLib.xcodeproj/project.pbxproj | 455 ++++++++++++++++++ .../apple/OutlineLib/VpnExtension/Info.plist | 29 ++ .../VpnExtension/VpnExtension.entitlements | 20 + .../xcshareddata/swiftpm/Package.resolved | 4 +- .../ios/Outline.xcodeproj/project.pbxproj | 235 ++------- 5 files changed, 547 insertions(+), 196 deletions(-) create mode 100644 src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj create mode 100644 src/cordova/apple/OutlineLib/VpnExtension/Info.plist create mode 100644 src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements diff --git a/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj b/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..cced99be5f7 --- /dev/null +++ b/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj @@ -0,0 +1,455 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 522C98BC2B0D67AF00E6E4A9 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */; }; + 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 522C98B62B0D673200E6E4A9 /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../OutlineAppleLib; sourceTree = "<group>"; }; + 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VpnExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; + 52334EB32B0D58AD00817E56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 52334EB42B0D58AD00817E56 /* VpnExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = VpnExtension.entitlements; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 52334EA92B0D58AD00817E56 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */, + 522C98BC2B0D67AF00E6E4A9 /* PacketTunnelProvider in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 52334DE02B0D56D600817E56 = { + isa = PBXGroup; + children = ( + 522C98B62B0D673200E6E4A9 /* OutlineAppleLib */, + 52334EB02B0D58AD00817E56 /* VpnExtension */, + 52334EAD2B0D58AD00817E56 /* Frameworks */, + 52334DEB2B0D56D600817E56 /* Products */, + ); + sourceTree = "<group>"; + }; + 52334DEB2B0D56D600817E56 /* Products */ = { + isa = PBXGroup; + children = ( + 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */, + ); + name = Products; + sourceTree = "<group>"; + }; + 52334EAD2B0D58AD00817E56 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 52334EB02B0D58AD00817E56 /* VpnExtension */ = { + isa = PBXGroup; + children = ( + 52334EB32B0D58AD00817E56 /* Info.plist */, + 52334EB42B0D58AD00817E56 /* VpnExtension.entitlements */, + ); + path = VpnExtension; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 52334EAB2B0D58AD00817E56 /* VpnExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = 52334EB52B0D58AD00817E56 /* Build configuration list for PBXNativeTarget "VpnExtension" */; + buildPhases = ( + 52334EA82B0D58AD00817E56 /* Sources */, + 52334EA92B0D58AD00817E56 /* Frameworks */, + 52334EAA2B0D58AD00817E56 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = VpnExtension; + packageProductDependencies = ( + 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */, + ); + productName = VpnExtension; + productReference = 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 52334DE12B0D56D600817E56 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + KnownAssetTags = ( + New, + ); + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + 52334EAB2B0D58AD00817E56 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = 52334DE42B0D56D600817E56 /* Build configuration list for PBXProject "OutlineLib" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + de, + ur, + he, + ar, + el, + "zh-Hans", + ja, + fa, + mr, + mk, + sq, + uk, + "en-GB", + am, + es, + sw, + is, + sl, + da, + "es-419", + et, + it, + bg, + sk, + "sr-Latn", + kk, + sr, + ms, + si, + ta, + ne, + sv, + cs, + km, + ko, + fil, + hy, + "zh-Hant", + mn, + my, + no, + nb, + hu, + ka, + tr, + pl, + "pt-BR", + vi, + lv, + lo, + lt, + ru, + af, + fr, + fi, + id, + nl, + th, + az, + bn, + "pt-PT", + ro, + bs, + hr, + hi, + ca, + ); + mainGroup = 52334DE02B0D56D600817E56; + packageReferences = ( + 52334EB92B0D59FA00817E56 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */, + 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */, + ); + productRefGroup = 52334DEB2B0D56D600817E56 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 52334EAB2B0D58AD00817E56 /* VpnExtension */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 52334EAA2B0D58AD00817E56 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 52334EA82B0D58AD00817E56 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 52334DFC2B0D56D600817E56 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 52334DFD2B0D56D600817E56 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SWIFT_COMPILATION_MODE = wholemodule; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 52334EB62B0D58AD00817E56 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = VpnExtension/VpnExtension.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QT8Z3Q9V3A; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = VpnExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = VpnExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; + "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 52334EB72B0D58AD00817E56 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = VpnExtension/VpnExtension.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QT8Z3Q9V3A; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = VpnExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = VpnExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; + "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 52334DE42B0D56D600817E56 /* Build configuration list for PBXProject "OutlineLib" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52334DFC2B0D56D600817E56 /* Debug */, + 52334DFD2B0D56D600817E56 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 52334EB52B0D58AD00817E56 /* Build configuration list for PBXNativeTarget "VpnExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52334EB62B0D58AD00817E56 /* Debug */, + 52334EB72B0D58AD00817E56 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 52334EB92B0D59FA00817E56 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/CocoaLumberjack/CocoaLumberjack"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.8.2; + }; + }; + 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/getsentry/sentry-cocoa"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 7.31.3; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */ = { + isa = XCSwiftPackageProductDependency; + productName = PacketTunnelProvider; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 52334DE12B0D56D600817E56 /* Project object */; +} diff --git a/src/cordova/apple/OutlineLib/VpnExtension/Info.plist b/src/cordova/apple/OutlineLib/VpnExtension/Info.plist new file mode 100644 index 00000000000..be5dcf9ee1b --- /dev/null +++ b/src/cordova/apple/OutlineLib/VpnExtension/Info.plist @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleDisplayName</key> + <string>VpnExtension</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>XPC!</string> + <key>ITSAppUsesNonExemptEncryption</key> + <false/> + <key>NSExtension</key> + <dict> + <key>NSExtensionPointIdentifier</key> + <string>com.apple.networkextension.packet-tunnel</string> + <key>NSExtensionPrincipalClass</key> + <string>PacketTunnelProvider</string> + </dict> +</dict> +</plist> diff --git a/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements b/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements new file mode 100644 index 00000000000..fc1aedb9dfd --- /dev/null +++ b/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.developer.networking.networkextension</key> + <array> + <string>packet-tunnel-provider</string> + </array> + <key>com.apple.security.app-sandbox</key> + <true/> + <key>com.apple.security.application-groups</key> + <array> + <string>group.org.outline.ios.client</string> + </array> + <key>com.apple.security.network.client</key> + <true/> + <key>com.apple.security.network.server</key> + <true/> +</dict> +</plist> diff --git a/src/cordova/apple/ios.xcworkspace/xcshareddata/swiftpm/Package.resolved b/src/cordova/apple/ios.xcworkspace/xcshareddata/swiftpm/Package.resolved index 0bd028c28bd..e2883946608 100644 --- a/src/cordova/apple/ios.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/src/cordova/apple/ios.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/CocoaLumberjack/CocoaLumberjack", "state" : { - "revision" : "0188d31089b5881a269e01777be74c7316924346", - "version" : "3.8.0" + "revision" : "363ed23d19a931809ea834a7d722da830353806a", + "version" : "3.8.2" } }, { diff --git a/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index 394c0a02007..47a8062380c 100755 --- a/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -16,12 +16,11 @@ 301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; }; 302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; }; 302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; }; - 3B0347531F212F0200C8EF1F /* VpnExtension.appex in Embed App Extensions (2 items) */ = {isa = PBXBuildFile; fileRef = 3B0347481F212F0100C8EF1F /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 52334EC82B0D5B1B00817E56 /* VpnExtension.appex in Embed App Extensions (2 items) */ = {isa = PBXBuildFile; fileRef = 52334EC62B0D5A7400817E56 /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 52CE53E7295B6A310064D03D /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 52CE53E6295B6A310064D03D /* Sentry */; }; - 52E783062A5880CF00355E64 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 52E783052A5880CF00355E64 /* PacketTunnelProvider */; }; 5F7F90AE0E924FD7B065C415 /* CDVStatusBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 0394302BA6114B2AB648D4FF /* CDVStatusBar.m */; }; 6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */; }; - A271D4202A7069D8009981B2 /* OutlineLauncher in Frameworks */ = {isa = PBXBuildFile; productRef = A271D41F2A7069D8009981B2 /* OutlineLauncher */; }; + A271D4202A7069D8009981B2 /* OutlineLauncher in Frameworks */ = {isa = PBXBuildFile; platformFilter = maccatalyst; productRef = A271D41F2A7069D8009981B2 /* OutlineLauncher */; }; A271D4222A706CB9009981B2 /* OutlineAppKitBridge in Frameworks */ = {isa = PBXBuildFile; productRef = A271D4212A706CB9009981B2 /* OutlineAppKitBridge */; }; A271D42D2A708240009981B2 /* AppDelegate+Outline.m in Sources */ = {isa = PBXBuildFile; fileRef = A271D42C2A708240009981B2 /* AppDelegate+Outline.m */; }; A271D4302A708278009981B2 /* CocoaLumberjack in Frameworks */ = {isa = PBXBuildFile; productRef = A271D42F2A708278009981B2 /* CocoaLumberjack */; }; @@ -32,7 +31,6 @@ A2A83B392A1C5B2E00755F56 /* OutlineLauncher.app in Copy OutlineLauncher */ = {isa = PBXBuildFile; fileRef = A26D262D2A1C41B1009838E0 /* OutlineLauncher.app */; platformFilter = maccatalyst; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; A2B8C14D2A58B70E0054487E /* AppKitBridge.bundle in Embed PlugIns */ = {isa = PBXBuildFile; fileRef = A2DBB2F62A00D2DD0017E696 /* AppKitBridge.bundle */; platformFilter = maccatalyst; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A2DBB2FB2A00D2F90017E696 /* AppKitBridge.bundle in Embed App Extensions (2 items) */ = {isa = PBXBuildFile; fileRef = A2DBB2F62A00D2DD0017E696 /* AppKitBridge.bundle */; platformFilter = maccatalyst; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - FC8C310B1FAA814A004262BE /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC8C310A1FAA814A004262BE /* NetworkExtension.framework */; }; FC8C310C1FAA88FB004262BE /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC8C310A1FAA814A004262BE /* NetworkExtension.framework */; }; /* End PBXBuildFile section */ @@ -51,13 +49,6 @@ remoteGlobalIDString = D2AAC07D0554694100DB518D; remoteInfo = CordovaLib; }; - 3B0347511F212F0200C8EF1F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3B0347471F212F0100C8EF1F; - remoteInfo = VpnExtension; - }; 3BE967001F211C7E0077C3AC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 301BF52D109A57CC0062928A /* CordovaLib/CordovaLib.xcodeproj */; @@ -65,6 +56,20 @@ remoteGlobalIDString = C0C01EB21E3911D50056E6CB; remoteInfo = Cordova; }; + 52334EC52B0D5A7400817E56 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 52334E042B0D56D600817E56 /* OutlineLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 52334EAC2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; + 52334EC92B0D5B2D00817E56 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 52334E042B0D56D600817E56 /* OutlineLib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 52334EAB2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; A2B8C14E2A58B70E0054487E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; @@ -96,7 +101,7 @@ dstSubfolderSpec = 13; files = ( A2DBB2FB2A00D2F90017E696 /* AppKitBridge.bundle in Embed App Extensions (2 items) */, - 3B0347531F212F0200C8EF1F /* VpnExtension.appex in Embed App Extensions (2 items) */, + 52334EC82B0D5B1B00817E56 /* VpnExtension.appex in Embed App Extensions (2 items) */, ); name = "Embed App Extensions (2 items)"; runOnlyForDeploymentPostprocessing = 0; @@ -154,8 +159,7 @@ 3047A5111AB8059700498E2A /* build.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = build.xcconfig; path = cordova/build.xcconfig; sourceTree = SOURCE_ROOT; }; 32CA4F630368D1EE00C91783 /* Outline-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Outline-Prefix.pch"; sourceTree = "<group>"; }; 3B0347431F212E6500C8EF1F /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Outline.entitlements; path = Outline/Outline.entitlements; sourceTree = "<group>"; }; - 3B0347481F212F0100C8EF1F /* VpnExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VpnExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; name = VpnExtension.entitlements; path = Outline/VpnExtension.entitlements; sourceTree = SOURCE_ROOT; }; + 52334E042B0D56D600817E56 /* OutlineLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OutlineLib.xcodeproj; path = ../../src/cordova/apple/OutlineLib/OutlineLib.xcodeproj; sourceTree = "<group>"; }; 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CDVLaunchScreen.storyboard; path = Outline/CDVLaunchScreen.storyboard; sourceTree = SOURCE_ROOT; }; 8D1107310486CEB800E47090 /* Outline-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Outline-Info.plist"; path = "Outline/Outline-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = SOURCE_ROOT; }; 91E45572BB494E9299D2DD41 /* CDVClipboard.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVClipboard.m; path = "cordova-plugin-clipboard/CDVClipboard.m"; sourceTree = "<group>"; }; @@ -191,15 +195,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B0347451F212F0100C8EF1F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FC8C310B1FAA814A004262BE /* NetworkExtension.framework in Frameworks */, - 52E783062A5880CF00355E64 /* PacketTunnelProvider in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A26D262A2A1C41B1009838E0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -238,7 +233,6 @@ isa = PBXGroup; children = ( 1D6058910D05DD3D006BFB54 /* Outline.app */, - 3B0347481F212F0100C8EF1F /* VpnExtension.appex */, A2DBB2F62A00D2DD0017E696 /* AppKitBridge.bundle */, A26D262D2A1C41B1009838E0 /* OutlineLauncher.app */, ); @@ -248,6 +242,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 52334E042B0D56D600817E56 /* OutlineLib.xcodeproj */, F6D33648296CF46200AFD613 /* Packages */, 3B0347431F212E6500C8EF1F /* Outline.entitlements */, EB87FDF41871DAF40020F90C /* config.xml */, @@ -258,7 +253,6 @@ 307C750510C5A3420062BCA9 /* Plugins */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, - 3B0347491F212F0200C8EF1F /* VpnExtension */, A26D262E2A1C41B1009838E0 /* OutlineLauncher */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, @@ -331,13 +325,12 @@ path = Outline/Plugins; sourceTree = SOURCE_ROOT; }; - 3B0347491F212F0200C8EF1F /* VpnExtension */ = { + 52334E052B0D56D600817E56 /* Products */ = { isa = PBXGroup; children = ( - 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */, + 52334EC62B0D5A7400817E56 /* VpnExtension.appex */, ); - name = VpnExtension; - path = Outline/Resources/vpn; + name = Products; sourceTree = "<group>"; }; A26D262E2A1C41B1009838E0 /* OutlineLauncher */ = { @@ -383,10 +376,10 @@ buildRules = ( ); dependencies = ( + 52334ECA2B0D5B2D00817E56 /* PBXTargetDependency */, A2F6068E2A1C6D4A0039183A /* PBXTargetDependency */, A2DBB3042A00D5F90017E696 /* PBXTargetDependency */, 301BF551109A68C00062928A /* PBXTargetDependency */, - 3B0347521F212F0200C8EF1F /* PBXTargetDependency */, ); name = Outline; packageProductDependencies = ( @@ -399,25 +392,6 @@ productReference = 1D6058910D05DD3D006BFB54 /* Outline.app */; productType = "com.apple.product-type.application"; }; - 3B0347471F212F0100C8EF1F /* VpnExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3B0347541F212F0200C8EF1F /* Build configuration list for PBXNativeTarget "VpnExtension" */; - buildPhases = ( - 3B0347441F212F0100C8EF1F /* Sources */, - 3B0347451F212F0100C8EF1F /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = VpnExtension; - packageProductDependencies = ( - 52E783052A5880CF00355E64 /* PacketTunnelProvider */, - ); - productName = VpnExtension; - productReference = 3B0347481F212F0100C8EF1F /* VpnExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; A26D262C2A1C41B1009838E0 /* OutlineLauncher */ = { isa = PBXNativeTarget; buildConfigurationList = A26D26392A1C41B4009838E0 /* Build configuration list for PBXNativeTarget "OutlineLauncher" */; @@ -475,15 +449,6 @@ }; }; }; - 3B0347471F212F0100C8EF1F = { - CreatedOnToolsVersion = 8.3.3; - LastSwiftMigration = 1130; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; A26D262C2A1C41B1009838E0 = { CreatedOnToolsVersion = 14.3; }; @@ -512,11 +477,14 @@ ProductGroup = 301BF52E109A57CC0062928A /* Products */; ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib/CordovaLib.xcodeproj */; }, + { + ProductGroup = 52334E052B0D56D600817E56 /* Products */; + ProjectRef = 52334E042B0D56D600817E56 /* OutlineLib.xcodeproj */; + }, ); projectRoot = ""; targets = ( 1D6058900D05DD3D006BFB54 /* Outline */, - 3B0347471F212F0100C8EF1F /* VpnExtension */, A2DBB2F52A00D2DD0017E696 /* AppKitBridge */, A26D262C2A1C41B1009838E0 /* OutlineLauncher */, ); @@ -538,6 +506,13 @@ remoteRef = 3BE967001F211C7E0077C3AC /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 52334EC62B0D5A7400817E56 /* VpnExtension.appex */ = { + isa = PBXReferenceProxy; + fileType = "wrapper.app-extension"; + path = VpnExtension.appex; + remoteRef = 52334EC52B0D5A7400817E56 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -585,13 +560,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B0347441F212F0100C8EF1F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; A25EB8812A8437D700B92EE0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -614,10 +582,10 @@ name = CordovaLib; targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */; }; - 3B0347521F212F0200C8EF1F /* PBXTargetDependency */ = { + 52334ECA2B0D5B2D00817E56 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3B0347471F212F0100C8EF1F /* VpnExtension */; - targetProxy = 3B0347511F212F0200C8EF1F /* PBXContainerItemProxy */; + name = VpnExtension; + targetProxy = 52334EC92B0D5B2D00817E56 /* PBXContainerItemProxy */; }; A2B8C14F2A58B70E0054487E /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -680,7 +648,7 @@ STRIP_BITCODE_FROM_COPIED_FILES = NO; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_WORKSPACE = NO; @@ -725,123 +693,13 @@ STRIP_BITCODE_FROM_COPIED_FILES = NO; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_WORKSPACE = NO; }; name = Release; }; - 3B0347551F212F0200C8EF1F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3047A50F1AB8059700498E2A /* build-debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Outline/VpnExtension.entitlements"; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; - "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - STRIP_BITCODE_FROM_COPIED_FILES = NO; - SUPPORTS_MACCATALYST = YES; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 3B0347561F212F0200C8EF1F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3047A5101AB8059700498E2A /* build-release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Outline/VpnExtension.entitlements"; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; - "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - STRIP_BITCODE_FROM_COPIED_FILES = NO; - SUPPORTS_MACCATALYST = YES; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; A26D263A2A1C41B4009838E0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -887,6 +745,7 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.macos.client.launcher3; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -940,6 +799,7 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.macos.client.launcher3; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -1142,15 +1002,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3B0347541F212F0200C8EF1F /* Build configuration list for PBXNativeTarget "VpnExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3B0347551F212F0200C8EF1F /* Debug */, - 3B0347561F212F0200C8EF1F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; A26D26392A1C41B4009838E0 /* Build configuration list for PBXNativeTarget "OutlineLauncher" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1205,10 +1056,6 @@ package = 52CE53E5295B6A310064D03D /* XCRemoteSwiftPackageReference "sentry-cocoa" */; productName = Sentry; }; - 52E783052A5880CF00355E64 /* PacketTunnelProvider */ = { - isa = XCSwiftPackageProductDependency; - productName = PacketTunnelProvider; - }; A271D41F2A7069D8009981B2 /* OutlineLauncher */ = { isa = XCSwiftPackageProductDependency; productName = OutlineLauncher; From 576cd1c20f28ec1b5af1716b336f326b30e759a1 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:07:15 -0400 Subject: [PATCH 3/9] Update --- .../apple/OutlineAppleLib/Package.swift | 2 +- .../OutlineLib.xcodeproj/project.pbxproj | 60 +++-- .../ios/Outline.xcodeproj/project.pbxproj | 226 ++++-------------- .../macos/Outline.xcodeproj/project.pbxproj | 209 ++++------------ 4 files changed, 124 insertions(+), 373 deletions(-) diff --git a/client/src/cordova/apple/OutlineAppleLib/Package.swift b/client/src/cordova/apple/OutlineAppleLib/Package.swift index 510e653cf17..986b2837469 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Package.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Package.swift @@ -10,7 +10,7 @@ let package = Package( // CocoaLumberjack 3.8.0 dropped support for iOS < 11 and macOS < 10.13. // See https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.8.0. // These cannot be upgraded without also upgrading the entire project. - .iOS(.v11), + .iOS(.v13), .macOS(.v10_14), ], products: [ diff --git a/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj index c69b1e84fac..2f0dc258831 100644 --- a/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj @@ -3,12 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 56; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ - 522C98BC2B0D67AF00E6E4A9 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */; }; 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */; }; + 5260B06A2C4F114000CDF289 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 5260B0692C4F114000CDF289 /* PacketTunnelProvider */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -25,7 +25,7 @@ buildActionMask = 2147483647; files = ( 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */, - 522C98BC2B0D67AF00E6E4A9 /* PacketTunnelProvider in Frameworks */, + 5260B06A2C4F114000CDF289 /* PacketTunnelProvider in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -81,10 +81,11 @@ buildRules = ( ); dependencies = ( + 5260B0842C4F18B200CDF289 /* PBXTargetDependency */, ); name = VpnExtension; packageProductDependencies = ( - 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */, + 5260B0692C4F114000CDF289 /* PacketTunnelProvider */, ); productName = VpnExtension; productReference = 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */; @@ -184,8 +185,8 @@ ); mainGroup = 52334DE02B0D56D600817E56; packageReferences = ( - 52334EB92B0D59FA00817E56 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */, 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */, + 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */, ); productRefGroup = 52334DEB2B0D56D600817E56 /* Products */; projectDirPath = ""; @@ -216,6 +217,13 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 5260B0842C4F18B200CDF289 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = 5260B0832C4F18B200CDF289 /* PacketTunnelProvider */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 52334DFC2B0D56D600817E56 /* Debug */ = { isa = XCBuildConfiguration; @@ -270,9 +278,9 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -330,9 +338,9 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SWIFT_COMPILATION_MODE = wholemodule; @@ -344,6 +352,7 @@ 52334EB62B0D58AD00817E56 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CODE_SIGN_ENTITLEMENTS = VpnExtension/VpnExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; @@ -364,8 +373,10 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -375,6 +386,7 @@ 52334EB72B0D58AD00817E56 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CODE_SIGN_ENTITLEMENTS = VpnExtension/VpnExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; @@ -395,8 +407,10 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -427,28 +441,32 @@ }; /* End XCConfigurationList section */ -/* Begin XCRemoteSwiftPackageReference section */ - 52334EB92B0D59FA00817E56 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/CocoaLumberjack/CocoaLumberjack"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 3.8.2; - }; +/* Begin XCLocalSwiftPackageReference section */ + 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../OutlineAppleLib; }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCRemoteSwiftPackageReference section */ 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/getsentry/sentry-cocoa"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 7.31.3; + minimumVersion = 8.0.0; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 522C98BB2B0D67AF00E6E4A9 /* PacketTunnelProvider */ = { + 5260B0692C4F114000CDF289 /* PacketTunnelProvider */ = { + isa = XCSwiftPackageProductDependency; + productName = PacketTunnelProvider; + }; + 5260B0832C4F18B200CDF289 /* PacketTunnelProvider */ = { isa = XCSwiftPackageProductDependency; + package = 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */; productName = PacketTunnelProvider; }; /* End XCSwiftPackageProductDependency section */ diff --git a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index 247a786b3fa..21928768a98 100755 --- a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -16,9 +16,8 @@ 301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; }; 302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; }; 302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; }; - 3B0347531F212F0200C8EF1F /* VpnExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 3B0347481F212F0100C8EF1F /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 5260B05F2C4F0A4E00CDF289 /* VpnExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 5260B05C2C4F09FB00CDF289 /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 52CE53E7295B6A310064D03D /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 52CE53E6295B6A310064D03D /* Sentry */; }; - 52E783062A5880CF00355E64 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 52E783052A5880CF00355E64 /* PacketTunnelProvider */; }; 5F7F90AE0E924FD7B065C415 /* CDVStatusBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 0394302BA6114B2AB648D4FF /* CDVStatusBar.m */; }; 65A9AC9C2BEC091700C5899F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */; }; 6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */; }; @@ -37,7 +36,6 @@ A2AC1A4F2B082197004E13CB /* AppKitController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AC1A4E2B082197004E13CB /* AppKitController.swift */; }; A2AC1A9C2B082526004E13CB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A2AC1A582B082526004E13CB /* Localizable.strings */; }; A2AC1A9D2B082526004E13CB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A2AC1A9B2B082526004E13CB /* Assets.xcassets */; }; - FC8C310B1FAA814A004262BE /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC8C310A1FAA814A004262BE /* NetworkExtension.framework */; }; FC8C310C1FAA88FB004262BE /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC8C310A1FAA814A004262BE /* NetworkExtension.framework */; }; /* End PBXBuildFile section */ @@ -56,13 +54,6 @@ remoteGlobalIDString = D2AAC07D0554694100DB518D; remoteInfo = CordovaLib; }; - 3B0347511F212F0200C8EF1F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3B0347471F212F0100C8EF1F; - remoteInfo = VpnExtension; - }; 3BE967001F211C7E0077C3AC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 301BF52D109A57CC0062928A /* CordovaLib/CordovaLib.xcodeproj */; @@ -70,6 +61,20 @@ remoteGlobalIDString = C0C01EB21E3911D50056E6CB; remoteInfo = Cordova; }; + 5260B05B2C4F09FB00CDF289 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 52334EAC2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; + 5260B05D2C4F0A3300CDF289 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 52334EAB2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; A246B7E62B07AADD00ECACD5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; @@ -100,7 +105,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - 3B0347531F212F0200C8EF1F /* VpnExtension.appex in Embed App Extensions */, + 5260B05F2C4F0A4E00CDF289 /* VpnExtension.appex in Embed App Extensions */, ); name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -170,8 +175,8 @@ 3047A5111AB8059700498E2A /* build.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = build.xcconfig; path = cordova/build.xcconfig; sourceTree = SOURCE_ROOT; }; 32CA4F630368D1EE00C91783 /* Outline-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Outline-Prefix.pch"; sourceTree = "<group>"; }; 3B0347431F212E6500C8EF1F /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Outline.entitlements; path = Outline/Outline.entitlements; sourceTree = "<group>"; }; - 3B0347481F212F0100C8EF1F /* VpnExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VpnExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; name = VpnExtension.entitlements; path = Outline/VpnExtension.entitlements; sourceTree = SOURCE_ROOT; }; + 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OutlineLib.xcodeproj; path = ../../src/cordova/apple/OutlineLib/OutlineLib.xcodeproj; sourceTree = "<group>"; }; 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; }; 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CDVLaunchScreen.storyboard; path = Outline/CDVLaunchScreen.storyboard; sourceTree = SOURCE_ROOT; }; 8D1107310486CEB800E47090 /* Outline-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Outline-Info.plist"; path = "Outline/Outline-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = SOURCE_ROOT; }; @@ -278,15 +283,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B0347451F212F0100C8EF1F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FC8C310B1FAA814A004262BE /* NetworkExtension.framework in Frameworks */, - 52E783062A5880CF00355E64 /* PacketTunnelProvider in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A26D262A2A1C41B1009838E0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -318,7 +314,6 @@ isa = PBXGroup; children = ( 1D6058910D05DD3D006BFB54 /* Outline.app */, - 3B0347481F212F0100C8EF1F /* VpnExtension.appex */, A26D262D2A1C41B1009838E0 /* OutlineLauncher.app */, A246B7DD2B07AACF00ECACD5 /* AppKitIntegration.framework */, ); @@ -328,6 +323,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */, 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */, F6D33648296CF46200AFD613 /* Packages */, 3B0347431F212E6500C8EF1F /* Outline.entitlements */, @@ -421,6 +417,14 @@ path = Outline/Resources/vpn; sourceTree = "<group>"; }; + 5260B0582C4F09FB00CDF289 /* Products */ = { + isa = PBXGroup; + children = ( + 5260B05C2C4F09FB00CDF289 /* VpnExtension.appex */, + ); + name = Products; + sourceTree = "<group>"; + }; A26D262E2A1C41B1009838E0 /* OutlineLauncher */ = { isa = PBXGroup; children = ( @@ -504,9 +508,9 @@ buildRules = ( ); dependencies = ( + 5260B05E2C4F0A3300CDF289 /* PBXTargetDependency */, A2A3EE0E2B0DB62000F8E544 /* PBXTargetDependency */, 301BF551109A68C00062928A /* PBXTargetDependency */, - 3B0347521F212F0200C8EF1F /* PBXTargetDependency */, A246B7E72B07AADD00ECACD5 /* PBXTargetDependency */, ); name = Outline; @@ -520,25 +524,6 @@ productReference = 1D6058910D05DD3D006BFB54 /* Outline.app */; productType = "com.apple.product-type.application"; }; - 3B0347471F212F0100C8EF1F /* VpnExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3B0347541F212F0200C8EF1F /* Build configuration list for PBXNativeTarget "VpnExtension" */; - buildPhases = ( - 3B0347441F212F0100C8EF1F /* Sources */, - 3B0347451F212F0100C8EF1F /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = VpnExtension; - packageProductDependencies = ( - 52E783052A5880CF00355E64 /* PacketTunnelProvider */, - ); - productName = VpnExtension; - productReference = 3B0347481F212F0100C8EF1F /* VpnExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; A246B7DC2B07AACF00ECACD5 /* AppKitIntegration */ = { isa = PBXNativeTarget; buildConfigurationList = A246B7E12B07AACF00ECACD5 /* Build configuration list for PBXNativeTarget "AppKitIntegration" */; @@ -596,15 +581,6 @@ }; }; }; - 3B0347471F212F0100C8EF1F = { - CreatedOnToolsVersion = 8.3.3; - LastSwiftMigration = 1130; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; A246B7DC2B07AACF00ECACD5 = { CreatedOnToolsVersion = 15.0.1; }; @@ -699,11 +675,14 @@ ProductGroup = 301BF52E109A57CC0062928A /* Products */; ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib/CordovaLib.xcodeproj */; }, + { + ProductGroup = 5260B0582C4F09FB00CDF289 /* Products */; + ProjectRef = 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */; + }, ); projectRoot = ""; targets = ( 1D6058900D05DD3D006BFB54 /* Outline */, - 3B0347471F212F0100C8EF1F /* VpnExtension */, A26D262C2A1C41B1009838E0 /* OutlineLauncher */, A246B7DC2B07AACF00ECACD5 /* AppKitIntegration */, ); @@ -725,6 +704,13 @@ remoteRef = 3BE967001F211C7E0077C3AC /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 5260B05C2C4F09FB00CDF289 /* VpnExtension.appex */ = { + isa = PBXReferenceProxy; + fileType = "wrapper.app-extension"; + path = VpnExtension.appex; + remoteRef = 5260B05B2C4F09FB00CDF289 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -782,13 +768,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B0347441F212F0100C8EF1F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; A246B7D92B07AACF00ECACD5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -813,10 +792,10 @@ name = CordovaLib; targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */; }; - 3B0347521F212F0200C8EF1F /* PBXTargetDependency */ = { + 5260B05E2C4F0A3300CDF289 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3B0347471F212F0100C8EF1F /* VpnExtension */; - targetProxy = 3B0347511F212F0200C8EF1F /* PBXContainerItemProxy */; + name = VpnExtension; + targetProxy = 5260B05D2C4F0A3300CDF289 /* PBXContainerItemProxy */; }; A246B7E72B07AADD00ECACD5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -1009,116 +988,6 @@ }; name = Release; }; - 3B0347551F212F0200C8EF1F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3047A50F1AB8059700498E2A /* build-debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Outline/VpnExtension.entitlements"; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; - "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - STRIP_BITCODE_FROM_COPIED_FILES = NO; - SUPPORTS_MACCATALYST = YES; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 3B0347561F212F0200C8EF1F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3047A5101AB8059700498E2A /* build-release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Outline/VpnExtension.entitlements"; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client.VpnExtension; - "PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*]" = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - STRIP_BITCODE_FROM_COPIED_FILES = NO; - SUPPORTS_MACCATALYST = YES; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; A246B7E22B07AACF00ECACD5 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 3047A50F1AB8059700498E2A /* build-debug.xcconfig */; @@ -1460,15 +1329,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3B0347541F212F0200C8EF1F /* Build configuration list for PBXNativeTarget "VpnExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3B0347551F212F0200C8EF1F /* Debug */, - 3B0347561F212F0200C8EF1F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; A246B7E12B07AACF00ECACD5 /* Build configuration list for PBXNativeTarget "AppKitIntegration" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1523,10 +1383,6 @@ package = 52CE53E5295B6A310064D03D /* XCRemoteSwiftPackageReference "sentry-cocoa" */; productName = Sentry; }; - 52E783052A5880CF00355E64 /* PacketTunnelProvider */ = { - isa = XCSwiftPackageProductDependency; - productName = PacketTunnelProvider; - }; A26F9C352B0D9CA000BCD3E6 /* OutlineLauncher */ = { isa = XCSwiftPackageProductDependency; productName = OutlineLauncher; diff --git a/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj b/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj index 2c40cb6a754..b73ec16b062 100644 --- a/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj @@ -8,7 +8,7 @@ /* Begin PBXBuildFile section */ 52355CFB295B70030057557B /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 52355CFA295B70030057557B /* Sentry */; }; - 52C198972A587525006E0ACE /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 52C198962A587525006E0ACE /* PacketTunnelProvider */; }; + 5260B0822C4F185D00CDF289 /* VpnExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 5260B0812C4F17FB00CDF289 /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 52CBB849295BC79300D0073F /* CocoaLumberjack in Frameworks */ = {isa = PBXBuildFile; productRef = 52CBB848295BC79300D0073F /* CocoaLumberjack */; }; 52CBB84B295BC79300D0073F /* CocoaLumberjackSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 52CBB84A295BC79300D0073F /* CocoaLumberjackSwift */; }; 707060AF18FFC05700755D46 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 707060AE18FFC05700755D46 /* MainViewController.xib */; }; @@ -30,14 +30,26 @@ FC0799F02037532A00A1C822 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC0799EE2037532A00A1C822 /* Main.storyboard */; }; FC0799F72037543F00A1C822 /* OutlineLauncher.app in Copy OutlineLauncher */ = {isa = PBXBuildFile; fileRef = FC0799E62037532900A1C822 /* OutlineLauncher.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; FC0799F92037545D00A1C822 /* ServiceManagement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC0799F82037545D00A1C822 /* ServiceManagement.framework */; }; - FC5FF93A1F3E1E5F0032A745 /* VpnExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = FC5FF92B1F3E1E5F0032A745 /* VpnExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - FC5FF9471F3E1E8B0032A745 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC5FF9461F3E1E8B0032A745 /* NetworkExtension.framework */; }; FC5FF9501F3E1FD40032A745 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC5FF9461F3E1E8B0032A745 /* NetworkExtension.framework */; }; FC6E7F8E204DC1BE003CB365 /* CDVMacOsUrlHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6E7F8D204DC1BE003CB365 /* CDVMacOsUrlHandler.swift */; }; FC7D56051F86969E00ABD5CA /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC7D56041F86969E00ABD5CA /* EventMonitor.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 5260B0802C4F17FB00CDF289 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 52334EAC2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; + 5260B08F2C4F1BBF00CDF289 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 52334EAB2B0D58AD00817E56; + remoteInfo = VpnExtension; + }; 5296DB072A57BBAF0009C9BB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 70BD681B18FFB02D00A1EFCF /* Project object */; @@ -59,13 +71,6 @@ remoteGlobalIDString = 70BD673918FF9DAE00A1EFCF; remoteInfo = CordovaLib; }; - FC5FF9381F3E1E5F0032A745 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 70BD681B18FFB02D00A1EFCF /* Project object */; - proxyType = 1; - remoteGlobalIDString = FC5FF92A1F3E1E5F0032A745; - remoteInfo = VpnExtension; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -86,7 +91,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - FC5FF93A1F3E1E5F0032A745 /* VpnExtension.appex in Embed App Extensions */, + 5260B0822C4F185D00CDF289 /* VpnExtension.appex in Embed App Extensions */, ); name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -96,6 +101,7 @@ /* Begin PBXFileReference section */ 19209C3AABCC45AB8CFDD974 /* CDVClipboard.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVClipboard.h; path = "cordova-plugin-clipboard/CDVClipboard.h"; sourceTree = "<group>"; }; 469466FF1BDB44C081741BF5 /* CDVClipboard.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVClipboard.m; path = "cordova-plugin-clipboard/CDVClipboard.m"; sourceTree = "<group>"; }; + 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OutlineLib.xcodeproj; path = ../../src/cordova/apple/OutlineLib/OutlineLib.xcodeproj; sourceTree = "<group>"; }; 707060AE18FFC05700755D46 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; }; 707060B018FFC0D900755D46 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = Outline/config.xml; sourceTree = "<group>"; }; 70BD682318FFB02D00A1EFCF /* Outline.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Outline.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -127,7 +133,6 @@ FC0799F82037545D00A1C822 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; }; FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "VpnExtension-Info.plist"; path = "Outline/VpnExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; FC5FF9121F3E1D1B0032A745 /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Outline.entitlements; sourceTree = "<group>"; }; - FC5FF92B1F3E1E5F0032A745 /* VpnExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VpnExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; FC5FF9461F3E1E8B0032A745 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; FC6E7F8D204DC1BE003CB365 /* CDVMacOsUrlHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDVMacOsUrlHandler.swift; sourceTree = "<group>"; }; FC7D56041F86969E00ABD5CA /* EventMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventMonitor.swift; sourceTree = "<group>"; }; @@ -160,18 +165,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FC5FF9281F3E1E5F0032A745 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FC5FF9471F3E1E8B0032A745 /* NetworkExtension.framework in Frameworks */, - 52C198972A587525006E0ACE /* PacketTunnelProvider in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 5260B07D2C4F17FA00CDF289 /* Products */ = { + isa = PBXGroup; + children = ( + 5260B0812C4F17FB00CDF289 /* VpnExtension.appex */, + ); + name = Products; + sourceTree = "<group>"; + }; 7069FBC31905A1F9000B48E1 /* Plugins */ = { isa = PBXGroup; children = ( @@ -186,6 +190,7 @@ 70BD681A18FFB02D00A1EFCF = { isa = PBXGroup; children = ( + 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */, F69339162968AFFD00823853 /* Packages */, 707060B018FFC0D900755D46 /* config.xml */, 70DAA8D91908785C00AF3749 /* www */, @@ -203,7 +208,6 @@ isa = PBXGroup; children = ( 70BD682318FFB02D00A1EFCF /* Outline.app */, - FC5FF92B1F3E1E5F0032A745 /* VpnExtension.appex */, FC0799E62037532900A1C822 /* OutlineLauncher.app */, ); name = Products; @@ -324,9 +328,9 @@ buildRules = ( ); dependencies = ( + 5260B0902C4F1BBF00CDF289 /* PBXTargetDependency */, 70BD687118FFB19500A1EFCF /* PBXTargetDependency */, 5296DB082A57BBAF0009C9BB /* PBXTargetDependency */, - FC5FF9391F3E1E5F0032A745 /* PBXTargetDependency */, ); name = Outline; packageProductDependencies = ( @@ -359,26 +363,6 @@ productReference = FC0799E62037532900A1C822 /* OutlineLauncher.app */; productType = "com.apple.product-type.application"; }; - FC5FF92A1F3E1E5F0032A745 /* VpnExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = FC5FF93E1F3E1E5F0032A745 /* Build configuration list for PBXNativeTarget "VpnExtension" */; - buildPhases = ( - FC5FF9271F3E1E5F0032A745 /* Sources */, - FC5FF9281F3E1E5F0032A745 /* Frameworks */, - FC5FF9291F3E1E5F0032A745 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = VpnExtension; - packageProductDependencies = ( - 52C198962A587525006E0ACE /* PacketTunnelProvider */, - ); - productName = VpnExtension; - productReference = FC5FF92B1F3E1E5F0032A745 /* VpnExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -415,24 +399,6 @@ }; }; }; - FC5FF92A1F3E1E5F0032A745 = { - CreatedOnToolsVersion = 8.3.2; - LastSwiftMigration = 1130; - SystemCapabilities = { - com.apple.ApplicationGroups.Mac = { - enabled = 1; - }; - com.apple.NetworkExtensions = { - enabled = 1; - }; - com.apple.Sandbox = { - enabled = 0; - }; - com.apple.VPNLite = { - enabled = 1; - }; - }; - }; }; }; buildConfigurationList = 70BD681E18FFB02D00A1EFCF /* Build configuration list for PBXProject "Outline" */; @@ -456,17 +422,27 @@ ProductGroup = 70BD685B18FFB04300A1EFCF /* Products */; ProjectRef = 70BD685A18FFB04300A1EFCF /* CordovaLib.xcodeproj */; }, + { + ProductGroup = 5260B07D2C4F17FA00CDF289 /* Products */; + ProjectRef = 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */; + }, ); projectRoot = ""; targets = ( 70BD682218FFB02D00A1EFCF /* Outline */, - FC5FF92A1F3E1E5F0032A745 /* VpnExtension */, FC0799E52037532900A1C822 /* OutlineLauncher */, ); }; /* End PBXProject section */ /* Begin PBXReferenceProxy section */ + 5260B0812C4F17FB00CDF289 /* VpnExtension.appex */ = { + isa = PBXReferenceProxy; + fileType = "wrapper.app-extension"; + path = VpnExtension.appex; + remoteRef = 5260B0802C4F17FB00CDF289 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 70BD686018FFB04300A1EFCF /* libCordova.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -496,13 +472,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FC5FF9291F3E1E5F0032A745 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -545,16 +514,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FC5FF9271F3E1E5F0032A745 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 5260B0902C4F1BBF00CDF289 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = VpnExtension; + targetProxy = 5260B08F2C4F1BBF00CDF289 /* PBXContainerItemProxy */; + }; 5296DB082A57BBAF0009C9BB /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = FC0799E52037532900A1C822 /* OutlineLauncher */; @@ -565,11 +532,6 @@ name = CordovaLib; targetProxy = 70BD687018FFB19500A1EFCF /* PBXContainerItemProxy */; }; - FC5FF9391F3E1E5F0032A745 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = FC5FF92A1F3E1E5F0032A745 /* VpnExtension */; - targetProxy = FC5FF9381F3E1E5F0032A745 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -865,78 +827,6 @@ }; name = Release; }; - FC5FF93F1F3E1E5F0032A745 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = Outline/VpnExtension.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@executable_path/../../../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - FC5FF9401F3E1E5F0032A745 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_ENTITLEMENTS = Outline/VpnExtension.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = QT8Z3Q9V3A; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Outline/Plugins/cordova-plugin-outline", - ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "$(SRCROOT)/Outline/VpnExtension-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@executable_path/../../../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.outline.macos.client.VpnExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -967,15 +857,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - FC5FF93E1F3E1E5F0032A745 /* Build configuration list for PBXNativeTarget "VpnExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FC5FF93F1F3E1E5F0032A745 /* Debug */, - FC5FF9401F3E1E5F0032A745 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ @@ -1003,10 +884,6 @@ package = 52355CF9295B70020057557B /* XCRemoteSwiftPackageReference "sentry-cocoa" */; productName = Sentry; }; - 52C198962A587525006E0ACE /* PacketTunnelProvider */ = { - isa = XCSwiftPackageProductDependency; - productName = PacketTunnelProvider; - }; 52CBB848295BC79300D0073F /* CocoaLumberjack */ = { isa = XCSwiftPackageProductDependency; package = 52CBB847295BC79300D0073F /* XCRemoteSwiftPackageReference "CocoaLumberjack" */; From ce567481f30bfbf7c0bdf7372c95de16cac27560 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:34:23 -0400 Subject: [PATCH 4/9] Add note --- client/src/cordova/apple/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/cordova/apple/README.md b/client/src/cordova/apple/README.md index a4c92eeb6ad..c533420d2ab 100644 --- a/client/src/cordova/apple/README.md +++ b/client/src/cordova/apple/README.md @@ -167,6 +167,8 @@ It's safe to unregister all the Outline VPN Extensions, since the system will lo pluginkit -r $APP_EXTENSION_PATH ``` +Make sure that you list the registered plugins again after unregistering them, since they may fallback to other versions of it, which you may also need to unregister. + Where the `$APP_EXTENSION_PATH` is the location of the `VpnExtension.appex` file from the pluginkit command. If your extenstion is still not loading, you can try to force register it: From 030f5c433587320c06da5f3571d0674e3bcc84ba Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:38:26 -0400 Subject: [PATCH 5/9] Clean up test --- client/src/cordova/apple/OutlineAppleLib/Package.swift | 2 +- .../Tests/OutlineTunnelTest/OutlineTunnelTest.swift | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/client/src/cordova/apple/OutlineAppleLib/Package.swift b/client/src/cordova/apple/OutlineAppleLib/Package.swift index 986b2837469..1f09f6abf0e 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Package.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Package.swift @@ -80,7 +80,7 @@ let package = Package( ), .testTarget( name: "OutlineTunnelTest", - dependencies: ["OutlineTunnel", "PacketTunnelProvider"] + dependencies: ["OutlineTunnel"] ), ] ) diff --git a/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift b/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift index f9ffd22b092..d9202d582c7 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift @@ -4,7 +4,6 @@ import NetworkExtension import Tun2socks @testable import OutlineTunnel -@testable import PacketTunnelProvider final class OutlineTunnelTest: XCTestCase { From 7da81b5f360609b99e6c96ca2d29c971b11cfa81 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:45:33 -0400 Subject: [PATCH 6/9] Remove unused deps on tun2socks --- client/src/cordova/apple/OutlineAppleLib/Package.swift | 3 +-- .../OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift | 1 - .../Tests/OutlineTunnelTest/OutlineTunnelTest.swift | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/client/src/cordova/apple/OutlineAppleLib/Package.swift b/client/src/cordova/apple/OutlineAppleLib/Package.swift index 1f09f6abf0e..5632a239353 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Package.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Package.swift @@ -16,7 +16,7 @@ let package = Package( products: [ .library( name: "OutlineAppleLib", - targets: ["Tun2socks", "OutlineSentryLogger", "OutlineTunnel", "OutlineCatalystApp", "OutlineNotification"] + targets: ["OutlineSentryLogger", "OutlineTunnel", "OutlineCatalystApp", "OutlineNotification"] ), .library( name: "OutlineLauncher", @@ -71,7 +71,6 @@ let package = Package( name: "OutlineTunnel", dependencies: [ .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), - "Tun2socks", ] ), .binaryTarget( diff --git a/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift b/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift index 9418fb1a169..679fbb4aa8d 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift @@ -14,7 +14,6 @@ import CocoaLumberjackSwift import NetworkExtension -import Tun2socks // Manages the system's VPN tunnel through the VpnExtension process. @objcMembers diff --git a/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift b/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift index d9202d582c7..127ed99e856 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift @@ -1,7 +1,6 @@ import XCTest import NetworkExtension -import Tun2socks @testable import OutlineTunnel From 1b12f784a0735c4a5633e039d89685426d314f1d Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:58:54 -0400 Subject: [PATCH 7/9] Migrate PacketTunnelProvider to side project. --- .../apple/OutlineAppleLib/Package.swift | 25 ++------ .../OutlineLib.xcodeproj/project.pbxproj | 61 +++++++++++++++++-- .../Sources}/PacketTunnelProvider.h | 0 .../Sources}/PacketTunnelProvider.m | 0 4 files changed, 61 insertions(+), 25 deletions(-) rename client/src/cordova/apple/{OutlineAppleLib/Sources/PacketTunnelProvider/include => OutlineLib/VpnExtension/Sources}/PacketTunnelProvider.h (100%) rename client/src/cordova/apple/{OutlineAppleLib/Sources/PacketTunnelProvider => OutlineLib/VpnExtension/Sources}/PacketTunnelProvider.m (100%) diff --git a/client/src/cordova/apple/OutlineAppleLib/Package.swift b/client/src/cordova/apple/OutlineAppleLib/Package.swift index 5632a239353..0931eef8ff0 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Package.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Package.swift @@ -18,13 +18,14 @@ let package = Package( name: "OutlineAppleLib", targets: ["OutlineSentryLogger", "OutlineTunnel", "OutlineCatalystApp", "OutlineNotification"] ), + // Expose OutlineTunnel so the VpnExtension can use it. .library( - name: "OutlineLauncher", - targets: ["OutlineLauncher"] + name: "OutlineTunnel", + targets: ["OutlineTunnel"] ), .library( - name: "PacketTunnelProvider", - targets: ["PacketTunnelProvider"] + name: "OutlineLauncher", + targets: ["OutlineLauncher"] ), ], dependencies: [ @@ -47,18 +48,6 @@ let package = Package( "OutlineNotification", ] ), - .target( - name: "PacketTunnelProvider", - dependencies: [ - "CocoaLumberjack", - .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), - "Tun2socks", - "OutlineTunnel", - ], - cSettings: [ - .headerSearchPath("Internal"), - ] - ), .target(name: "OutlineNotification"), .target( name: "OutlineSentryLogger", @@ -73,10 +62,6 @@ let package = Package( .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), ] ), - .binaryTarget( - name: "Tun2socks", - path: "../../../../output/build/apple/Tun2socks.xcframework" - ), .testTarget( name: "OutlineTunnelTest", dependencies: ["OutlineTunnel"] diff --git a/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj index 2f0dc258831..322fd5b3e0c 100644 --- a/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj @@ -7,11 +7,32 @@ objects = { /* Begin PBXBuildFile section */ + 522987052C4F273E009EE577 /* PacketTunnelProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 522987042C4F273E009EE577 /* PacketTunnelProvider.m */; }; + 522987082C4F278E009EE577 /* CocoaLumberjack in Frameworks */ = {isa = PBXBuildFile; productRef = 522987072C4F278E009EE577 /* CocoaLumberjack */; }; + 5229870C2C4F2850009EE577 /* OutlineTunnel in Frameworks */ = {isa = PBXBuildFile; productRef = 5229870B2C4F2850009EE577 /* OutlineTunnel */; }; + 5229870E2C4F2873009EE577 /* Tun2socks.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */; }; + 5229870F2C4F2873009EE577 /* Tun2socks.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */; }; - 5260B06A2C4F114000CDF289 /* PacketTunnelProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 5260B0692C4F114000CDF289 /* PacketTunnelProvider */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + 522987102C4F2873009EE577 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 5229870F2C4F2873009EE577 /* Tun2socks.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ + 522987032C4F273E009EE577 /* PacketTunnelProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PacketTunnelProvider.h; sourceTree = "<group>"; }; + 522987042C4F273E009EE577 /* PacketTunnelProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PacketTunnelProvider.m; sourceTree = "<group>"; }; + 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Tun2socks.xcframework; path = ../../../../output/build/apple/Tun2socks.xcframework; sourceTree = "<group>"; }; 522C98B62B0D673200E6E4A9 /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../OutlineAppleLib; sourceTree = "<group>"; }; 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VpnExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; @@ -24,14 +45,25 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 5229870E2C4F2873009EE577 /* Tun2socks.xcframework in Frameworks */, + 522987082C4F278E009EE577 /* CocoaLumberjack in Frameworks */, 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework in Frameworks */, - 5260B06A2C4F114000CDF289 /* PacketTunnelProvider in Frameworks */, + 5229870C2C4F2850009EE577 /* OutlineTunnel in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 522987022C4F26D4009EE577 /* Sources */ = { + isa = PBXGroup; + children = ( + 522987032C4F273E009EE577 /* PacketTunnelProvider.h */, + 522987042C4F273E009EE577 /* PacketTunnelProvider.m */, + ); + path = Sources; + sourceTree = "<group>"; + }; 52334DE02B0D56D600817E56 = { isa = PBXGroup; children = ( @@ -53,6 +85,7 @@ 52334EAD2B0D58AD00817E56 /* Frameworks */ = { isa = PBXGroup; children = ( + 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */, 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */, ); name = Frameworks; @@ -61,6 +94,7 @@ 52334EB02B0D58AD00817E56 /* VpnExtension */ = { isa = PBXGroup; children = ( + 522987022C4F26D4009EE577 /* Sources */, 52334EB32B0D58AD00817E56 /* Info.plist */, 52334EB42B0D58AD00817E56 /* VpnExtension.entitlements */, ); @@ -77,6 +111,7 @@ 52334EA82B0D58AD00817E56 /* Sources */, 52334EA92B0D58AD00817E56 /* Frameworks */, 52334EAA2B0D58AD00817E56 /* Resources */, + 522987102C4F2873009EE577 /* Embed Frameworks */, ); buildRules = ( ); @@ -85,7 +120,8 @@ ); name = VpnExtension; packageProductDependencies = ( - 5260B0692C4F114000CDF289 /* PacketTunnelProvider */, + 522987072C4F278E009EE577 /* CocoaLumberjack */, + 5229870B2C4F2850009EE577 /* OutlineTunnel */, ); productName = VpnExtension; productReference = 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */; @@ -187,6 +223,7 @@ packageReferences = ( 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */, 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */, + 522987062C4F278E009EE577 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */, ); productRefGroup = 52334DEB2B0D56D600817E56 /* Products */; projectDirPath = ""; @@ -212,6 +249,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 522987052C4F273E009EE577 /* PacketTunnelProvider.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -449,6 +487,14 @@ /* End XCLocalSwiftPackageReference section */ /* Begin XCRemoteSwiftPackageReference section */ + 522987062C4F278E009EE577 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/CocoaLumberjack/CocoaLumberjack"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.8.5; + }; + }; 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/getsentry/sentry-cocoa"; @@ -460,9 +506,14 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 5260B0692C4F114000CDF289 /* PacketTunnelProvider */ = { + 522987072C4F278E009EE577 /* CocoaLumberjack */ = { isa = XCSwiftPackageProductDependency; - productName = PacketTunnelProvider; + package = 522987062C4F278E009EE577 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */; + productName = CocoaLumberjack; + }; + 5229870B2C4F2850009EE577 /* OutlineTunnel */ = { + isa = XCSwiftPackageProductDependency; + productName = OutlineTunnel; }; 5260B0832C4F18B200CDF289 /* PacketTunnelProvider */ = { isa = XCSwiftPackageProductDependency; diff --git a/client/src/cordova/apple/OutlineAppleLib/Sources/PacketTunnelProvider/include/PacketTunnelProvider.h b/client/src/cordova/apple/OutlineLib/VpnExtension/Sources/PacketTunnelProvider.h similarity index 100% rename from client/src/cordova/apple/OutlineAppleLib/Sources/PacketTunnelProvider/include/PacketTunnelProvider.h rename to client/src/cordova/apple/OutlineLib/VpnExtension/Sources/PacketTunnelProvider.h diff --git a/client/src/cordova/apple/OutlineAppleLib/Sources/PacketTunnelProvider/PacketTunnelProvider.m b/client/src/cordova/apple/OutlineLib/VpnExtension/Sources/PacketTunnelProvider.m similarity index 100% rename from client/src/cordova/apple/OutlineAppleLib/Sources/PacketTunnelProvider/PacketTunnelProvider.m rename to client/src/cordova/apple/OutlineLib/VpnExtension/Sources/PacketTunnelProvider.m From 5461cb1f116e18f6ea60e2694d57d5661961259c Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:02:33 -0400 Subject: [PATCH 8/9] Remove unused references to VpnExtension on iOS --- .../ios/Outline.xcodeproj/project.pbxproj | 13 -------- .../xcode/ios/Outline/VpnExtension-Info.plist | 33 ------------------- .../ios/Outline/VpnExtension.entitlements | 20 ----------- 3 files changed, 66 deletions(-) delete mode 100644 client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist delete mode 100644 client/src/cordova/apple/xcode/ios/Outline/VpnExtension.entitlements diff --git a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index 21928768a98..b02cf4166e9 100755 --- a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -175,7 +175,6 @@ 3047A5111AB8059700498E2A /* build.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = build.xcconfig; path = cordova/build.xcconfig; sourceTree = SOURCE_ROOT; }; 32CA4F630368D1EE00C91783 /* Outline-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Outline-Prefix.pch"; sourceTree = "<group>"; }; 3B0347431F212E6500C8EF1F /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Outline.entitlements; path = Outline/Outline.entitlements; sourceTree = "<group>"; }; - 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; name = VpnExtension.entitlements; path = Outline/VpnExtension.entitlements; sourceTree = SOURCE_ROOT; }; 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OutlineLib.xcodeproj; path = ../../src/cordova/apple/OutlineLib/OutlineLib.xcodeproj; sourceTree = "<group>"; }; 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; }; 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CDVLaunchScreen.storyboard; path = Outline/CDVLaunchScreen.storyboard; sourceTree = SOURCE_ROOT; }; @@ -264,7 +263,6 @@ ED33DF2A687741AEAF9F8254 /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; }; F63DC2162970AFE600D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../../src/cordova/apple/OutlineAppleLib; sourceTree = "<group>"; }; F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = Outline/config.xml; sourceTree = "<group>"; }; - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "VpnExtension-Info.plist"; path = "Outline/VpnExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; FC8C310A1FAA814A004262BE /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -335,7 +333,6 @@ 307C750510C5A3420062BCA9 /* Plugins */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, - 3B0347491F212F0200C8EF1F /* VpnExtension */, A26D262E2A1C41B1009838E0 /* OutlineLauncher */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, @@ -357,7 +354,6 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */, 0207DA571B56EA530066E2B4 /* Assets.xcassets */, 3047A50E1AB8057F00498E2A /* config */, 8D1107310486CEB800E47090 /* Outline-Info.plist */, @@ -408,15 +404,6 @@ path = Outline/Plugins; sourceTree = SOURCE_ROOT; }; - 3B0347491F212F0200C8EF1F /* VpnExtension */ = { - isa = PBXGroup; - children = ( - 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */, - ); - name = VpnExtension; - path = Outline/Resources/vpn; - sourceTree = "<group>"; - }; 5260B0582C4F09FB00CDF289 /* Products */ = { isa = PBXGroup; children = ( diff --git a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist b/client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist deleted file mode 100644 index e4e1e2a439a..00000000000 --- a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>$(DEVELOPMENT_LANGUAGE)</string> - <key>CFBundleDisplayName</key> - <string>VpnExtension</string> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>XPC!</string> - <key>CFBundleShortVersionString</key> - <string>0.0.0-debug</string> - <key>CFBundleVersion</key> - <string>0</string> - <key>ITSAppUsesNonExemptEncryption</key> - <false/> - <key>NSExtension</key> - <dict> - <key>NSExtensionPointIdentifier</key> - <string>com.apple.networkextension.packet-tunnel</string> - <key>NSExtensionPrincipalClass</key> - <string>PacketTunnelProvider</string> - </dict> -</dict> -</plist> diff --git a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension.entitlements b/client/src/cordova/apple/xcode/ios/Outline/VpnExtension.entitlements deleted file mode 100644 index fb4bf1a906d..00000000000 --- a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension.entitlements +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.developer.networking.networkextension</key> - <array> - <string>packet-tunnel-provider</string> - </array> - <key>com.apple.security.app-sandbox</key> - <true/> - <key>com.apple.security.application-groups</key> - <array> - <string>group.org.outline.ios.client</string> - </array> - <key>com.apple.security.network.client</key> - <true/> - <key>com.apple.security.network.server</key> - <true/> -</dict> -</plist> From 4819181bec946c15f7cf58be5a4ac4c7d9a33e77 Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna <fortuna@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:06:41 -0400 Subject: [PATCH 9/9] Remove unused references to VpnExtension on macOS --- .../macos/Outline.xcodeproj/project.pbxproj | 4 --- .../macos/Outline/VpnExtension-Info.plist | 35 ------------------- .../macos/Outline/VpnExtension.entitlements | 22 ------------ 3 files changed, 61 deletions(-) delete mode 100644 client/src/cordova/apple/xcode/macos/Outline/VpnExtension-Info.plist delete mode 100644 client/src/cordova/apple/xcode/macos/Outline/VpnExtension.entitlements diff --git a/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj b/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj index b73ec16b062..9dad9bf10f5 100644 --- a/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj @@ -131,12 +131,10 @@ FC0799F12037532A00A1C822 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; FC0799F22037532A00A1C822 /* OutlineLauncher.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OutlineLauncher.entitlements; sourceTree = "<group>"; }; FC0799F82037545D00A1C822 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; }; - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "VpnExtension-Info.plist"; path = "Outline/VpnExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; FC5FF9121F3E1D1B0032A745 /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Outline.entitlements; sourceTree = "<group>"; }; FC5FF9461F3E1E8B0032A745 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; FC6E7F8D204DC1BE003CB365 /* CDVMacOsUrlHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDVMacOsUrlHandler.swift; sourceTree = "<group>"; }; FC7D56041F86969E00ABD5CA /* EventMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventMonitor.swift; sourceTree = "<group>"; }; - FCB2DED41F3E3CAD000C6A44 /* VpnExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = VpnExtension.entitlements; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -240,7 +238,6 @@ 70BD682C18FFB02D00A1EFCF /* Outline */ = { isa = PBXGroup; children = ( - FCB2DED41F3E3CAD000C6A44 /* VpnExtension.entitlements */, FC5FF9121F3E1D1B0032A745 /* Outline.entitlements */, 70BD682D18FFB02D00A1EFCF /* Supporting Files */, 707060AE18FFC05700755D46 /* MainViewController.xib */, @@ -285,7 +282,6 @@ 70D86C851B903D11000750E0 /* Resources */ = { isa = PBXGroup; children = ( - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */, A508014170A1492DB0D800B3 /* Outline-Bridging-Header.h */, ); name = Resources; diff --git a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension-Info.plist b/client/src/cordova/apple/xcode/macos/Outline/VpnExtension-Info.plist deleted file mode 100644 index 18e4ad4bcf2..00000000000 --- a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension-Info.plist +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleShortVersionString</key> - <string>0.0.0-debug</string> - <key>CFBundleVersion</key> - <string>0</string> - <key>CFBundleDevelopmentRegion</key> - <string>en</string> - <key>CFBundleDisplayName</key> - <string>VpnExtension</string> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>ITSAppUsesNonExemptEncryption</key> - <false/> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>XPC!</string> - <key>LSMinimumSystemVersion</key> - <string>${MACOSX_DEPLOYMENT_TARGET}</string> - <key>NSExtension</key> - <dict> - <key>NSExtensionPointIdentifier</key> - <string>com.apple.networkextension.packet-tunnel</string> - <key>NSExtensionPrincipalClass</key> - <string>PacketTunnelProvider</string> - </dict> -</dict> -</plist> diff --git a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension.entitlements b/client/src/cordova/apple/xcode/macos/Outline/VpnExtension.entitlements deleted file mode 100644 index e8485edf160..00000000000 --- a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension.entitlements +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.developer.networking.networkextension</key> - <array> - <string>packet-tunnel-provider</string> - </array> - <key>com.apple.security.app-sandbox</key> - <true/> - <key>com.apple.security.application-groups</key> - <array> - <string>$(TeamIdentifierPrefix)org.outline.macos.client</string> - </array> - <key>com.apple.security.files.user-selected.read-only</key> - <true/> - <key>com.apple.security.network.client</key> - <true/> - <key>com.apple.security.network.server</key> - <true/> -</dict> -</plist>