diff --git a/client/src/cordova/apple/OutlineAppleLib/Package.swift b/client/src/cordova/apple/OutlineAppleLib/Package.swift index 510e653cf1..0931eef8ff 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Package.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Package.swift @@ -10,21 +10,22 @@ 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: [ .library( name: "OutlineAppleLib", - targets: ["Tun2socks", "OutlineSentryLogger", "OutlineTunnel", "OutlineCatalystApp", "OutlineNotification"] + 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", @@ -71,16 +60,11 @@ let package = Package( name: "OutlineTunnel", dependencies: [ .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), - "Tun2socks", ] ), - .binaryTarget( - name: "Tun2socks", - path: "../../../../output/build/apple/Tun2socks.xcframework" - ), .testTarget( name: "OutlineTunnelTest", - dependencies: ["OutlineTunnel", "PacketTunnelProvider"] + dependencies: ["OutlineTunnel"] ), ] ) diff --git a/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift b/client/src/cordova/apple/OutlineAppleLib/Sources/OutlineTunnel/OutlineVpn.swift index 9418fb1a16..679fbb4aa8 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 f9ffd22b09..127ed99e85 100644 --- a/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift +++ b/client/src/cordova/apple/OutlineAppleLib/Tests/OutlineTunnelTest/OutlineTunnelTest.swift @@ -1,10 +1,8 @@ import XCTest import NetworkExtension -import Tun2socks @testable import OutlineTunnel -@testable import PacketTunnelProvider final class OutlineTunnelTest: XCTestCase { diff --git a/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..322fd5b3e0 --- /dev/null +++ b/client/src/cordova/apple/OutlineLib/OutlineLib.xcodeproj/project.pbxproj @@ -0,0 +1,526 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + 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 */; }; +/* 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 = ""; }; + 522987042C4F273E009EE577 /* PacketTunnelProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PacketTunnelProvider.m; sourceTree = ""; }; + 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Tun2socks.xcframework; path = ../../../../output/build/apple/Tun2socks.xcframework; sourceTree = ""; }; + 522C98B62B0D673200E6E4A9 /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../OutlineAppleLib; sourceTree = ""; }; + 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 = ""; }; + 52334EB42B0D58AD00817E56 /* VpnExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = VpnExtension.entitlements; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 52334EA92B0D58AD00817E56 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5229870E2C4F2873009EE577 /* Tun2socks.xcframework in Frameworks */, + 522987082C4F278E009EE577 /* CocoaLumberjack in Frameworks */, + 52334EAF2B0D58AD00817E56 /* NetworkExtension.framework 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 = ""; + }; + 52334DE02B0D56D600817E56 = { + isa = PBXGroup; + children = ( + 522C98B62B0D673200E6E4A9 /* OutlineAppleLib */, + 52334EB02B0D58AD00817E56 /* VpnExtension */, + 52334EAD2B0D58AD00817E56 /* Frameworks */, + 52334DEB2B0D56D600817E56 /* Products */, + ); + sourceTree = ""; + }; + 52334DEB2B0D56D600817E56 /* Products */ = { + isa = PBXGroup; + children = ( + 52334EAC2B0D58AD00817E56 /* VpnExtension.appex */, + ); + name = Products; + sourceTree = ""; + }; + 52334EAD2B0D58AD00817E56 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5229870D2C4F2873009EE577 /* Tun2socks.xcframework */, + 52334EAE2B0D58AD00817E56 /* NetworkExtension.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 52334EB02B0D58AD00817E56 /* VpnExtension */ = { + isa = PBXGroup; + children = ( + 522987022C4F26D4009EE577 /* Sources */, + 52334EB32B0D58AD00817E56 /* Info.plist */, + 52334EB42B0D58AD00817E56 /* VpnExtension.entitlements */, + ); + path = VpnExtension; + sourceTree = ""; + }; +/* 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 */, + 522987102C4F2873009EE577 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 5260B0842C4F18B200CDF289 /* PBXTargetDependency */, + ); + name = VpnExtension; + packageProductDependencies = ( + 522987072C4F278E009EE577 /* CocoaLumberjack */, + 5229870B2C4F2850009EE577 /* OutlineTunnel */, + ); + 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 = ( + 52334EFA2B0D619D00817E56 /* XCRemoteSwiftPackageReference "sentry-cocoa" */, + 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */, + 522987062C4F278E009EE577 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */, + ); + 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 = ( + 522987052C4F273E009EE577 /* PacketTunnelProvider.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 5260B0842C4F18B200CDF289 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = 5260B0832C4F18B200CDF289 /* PacketTunnelProvider */; + }; +/* End PBXTargetDependency 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 = 13.1; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + 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 = 13.1; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + 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 = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + 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 = ""; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + 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 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"; + }; + name = Debug; + }; + 52334EB72B0D58AD00817E56 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + 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 = ""; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + 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 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"; + 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 XCLocalSwiftPackageReference section */ + 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../OutlineAppleLib; + }; +/* 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"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 8.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 522987072C4F278E009EE577 /* CocoaLumberjack */ = { + isa = XCSwiftPackageProductDependency; + package = 522987062C4F278E009EE577 /* XCRemoteSwiftPackageReference "CocoaLumberjack" */; + productName = CocoaLumberjack; + }; + 5229870B2C4F2850009EE577 /* OutlineTunnel */ = { + isa = XCSwiftPackageProductDependency; + productName = OutlineTunnel; + }; + 5260B0832C4F18B200CDF289 /* PacketTunnelProvider */ = { + isa = XCSwiftPackageProductDependency; + package = 5260B0682C4F114000CDF289 /* XCLocalSwiftPackageReference "../OutlineAppleLib" */; + productName = PacketTunnelProvider; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 52334DE12B0D56D600817E56 /* Project object */; +} diff --git a/client/src/cordova/apple/OutlineLib/VpnExtension/Info.plist b/client/src/cordova/apple/OutlineLib/VpnExtension/Info.plist new file mode 100644 index 0000000000..be5dcf9ee1 --- /dev/null +++ b/client/src/cordova/apple/OutlineLib/VpnExtension/Info.plist @@ -0,0 +1,29 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + VpnExtension + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + XPC! + ITSAppUsesNonExemptEncryption + + NSExtension + + NSExtensionPointIdentifier + com.apple.networkextension.packet-tunnel + NSExtensionPrincipalClass + PacketTunnelProvider + + + 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 diff --git a/client/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements b/client/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements new file mode 100644 index 0000000000..fc1aedb9df --- /dev/null +++ b/client/src/cordova/apple/OutlineLib/VpnExtension/VpnExtension.entitlements @@ -0,0 +1,20 @@ + + + + + com.apple.developer.networking.networkextension + + packet-tunnel-provider + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + group.org.outline.ios.client + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/client/src/cordova/apple/README.md b/client/src/cordova/apple/README.md index a4c92eeb6a..c533420d2a 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: 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 247a786b3f..b02cf4166e 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,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 = ""; }; 3B0347431F212E6500C8EF1F /* Outline.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Outline.entitlements; path = Outline/Outline.entitlements; sourceTree = ""; }; - 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 = ""; }; 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 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; }; @@ -259,7 +263,6 @@ ED33DF2A687741AEAF9F8254 /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = ""; }; F63DC2162970AFE600D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../../src/cordova/apple/OutlineAppleLib; sourceTree = ""; }; F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = Outline/config.xml; sourceTree = ""; }; - 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 */ @@ -278,15 +281,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 +312,6 @@ isa = PBXGroup; children = ( 1D6058910D05DD3D006BFB54 /* Outline.app */, - 3B0347481F212F0100C8EF1F /* VpnExtension.appex */, A26D262D2A1C41B1009838E0 /* OutlineLauncher.app */, A246B7DD2B07AACF00ECACD5 /* AppKitIntegration.framework */, ); @@ -328,6 +321,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 5260B0572C4F09FB00CDF289 /* OutlineLib.xcodeproj */, 65A9AC9B2BEC091700C5899F /* PrivacyInfo.xcprivacy */, F6D33648296CF46200AFD613 /* Packages */, 3B0347431F212E6500C8EF1F /* Outline.entitlements */, @@ -339,7 +333,6 @@ 307C750510C5A3420062BCA9 /* Plugins */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, - 3B0347491F212F0200C8EF1F /* VpnExtension */, A26D262E2A1C41B1009838E0 /* OutlineLauncher */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, @@ -361,7 +354,6 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */, 0207DA571B56EA530066E2B4 /* Assets.xcassets */, 3047A50E1AB8057F00498E2A /* config */, 8D1107310486CEB800E47090 /* Outline-Info.plist */, @@ -412,13 +404,12 @@ path = Outline/Plugins; sourceTree = SOURCE_ROOT; }; - 3B0347491F212F0200C8EF1F /* VpnExtension */ = { + 5260B0582C4F09FB00CDF289 /* Products */ = { isa = PBXGroup; children = ( - 3B03475B1F212F2D00C8EF1F /* VpnExtension.entitlements */, + 5260B05C2C4F09FB00CDF289 /* VpnExtension.appex */, ); - name = VpnExtension; - path = Outline/Resources/vpn; + name = Products; sourceTree = ""; }; A26D262E2A1C41B1009838E0 /* OutlineLauncher */ = { @@ -504,9 +495,9 @@ buildRules = ( ); dependencies = ( + 5260B05E2C4F0A3300CDF289 /* PBXTargetDependency */, A2A3EE0E2B0DB62000F8E544 /* PBXTargetDependency */, 301BF551109A68C00062928A /* PBXTargetDependency */, - 3B0347521F212F0200C8EF1F /* PBXTargetDependency */, A246B7E72B07AADD00ECACD5 /* PBXTargetDependency */, ); name = Outline; @@ -520,25 +511,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 +568,6 @@ }; }; }; - 3B0347471F212F0100C8EF1F = { - CreatedOnToolsVersion = 8.3.3; - LastSwiftMigration = 1130; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; A246B7DC2B07AACF00ECACD5 = { CreatedOnToolsVersion = 15.0.1; }; @@ -699,11 +662,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 +691,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 +755,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B0347441F212F0100C8EF1F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; A246B7D92B07AACF00ECACD5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -813,10 +779,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 +975,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 +1316,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 +1370,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/ios/Outline/VpnExtension-Info.plist b/client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist deleted file mode 100644 index e4e1e2a439..0000000000 --- a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension-Info.plist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - VpnExtension - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - XPC! - CFBundleShortVersionString - 0.0.0-debug - CFBundleVersion - 0 - ITSAppUsesNonExemptEncryption - - NSExtension - - NSExtensionPointIdentifier - com.apple.networkextension.packet-tunnel - NSExtensionPrincipalClass - PacketTunnelProvider - - - 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 fb4bf1a906..0000000000 --- a/client/src/cordova/apple/xcode/ios/Outline/VpnExtension.entitlements +++ /dev/null @@ -1,20 +0,0 @@ - - - - - com.apple.developer.networking.networkextension - - packet-tunnel-provider - - com.apple.security.app-sandbox - - com.apple.security.application-groups - - group.org.outline.ios.client - - com.apple.security.network.client - - com.apple.security.network.server - - - 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 2c40cb6a75..9dad9bf10f 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 = ""; }; 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 = ""; }; + 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OutlineLib.xcodeproj; path = ../../src/cordova/apple/OutlineLib/OutlineLib.xcodeproj; sourceTree = ""; }; 707060AE18FFC05700755D46 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = ""; }; 707060B018FFC0D900755D46 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = Outline/config.xml; sourceTree = ""; }; 70BD682318FFB02D00A1EFCF /* Outline.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Outline.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -125,13 +131,10 @@ FC0799F12037532A00A1C822 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; FC0799F22037532A00A1C822 /* OutlineLauncher.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OutlineLauncher.entitlements; sourceTree = ""; }; 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 = ""; }; - 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 = ""; }; FC7D56041F86969E00ABD5CA /* EventMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventMonitor.swift; sourceTree = ""; }; - FCB2DED41F3E3CAD000C6A44 /* VpnExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = VpnExtension.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -160,18 +163,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 = ""; + }; 7069FBC31905A1F9000B48E1 /* Plugins */ = { isa = PBXGroup; children = ( @@ -186,6 +188,7 @@ 70BD681A18FFB02D00A1EFCF = { isa = PBXGroup; children = ( + 5260B07C2C4F17FA00CDF289 /* OutlineLib.xcodeproj */, F69339162968AFFD00823853 /* Packages */, 707060B018FFC0D900755D46 /* config.xml */, 70DAA8D91908785C00AF3749 /* www */, @@ -203,7 +206,6 @@ isa = PBXGroup; children = ( 70BD682318FFB02D00A1EFCF /* Outline.app */, - FC5FF92B1F3E1E5F0032A745 /* VpnExtension.appex */, FC0799E62037532900A1C822 /* OutlineLauncher.app */, ); name = Products; @@ -236,7 +238,6 @@ 70BD682C18FFB02D00A1EFCF /* Outline */ = { isa = PBXGroup; children = ( - FCB2DED41F3E3CAD000C6A44 /* VpnExtension.entitlements */, FC5FF9121F3E1D1B0032A745 /* Outline.entitlements */, 70BD682D18FFB02D00A1EFCF /* Supporting Files */, 707060AE18FFC05700755D46 /* MainViewController.xib */, @@ -281,7 +282,6 @@ 70D86C851B903D11000750E0 /* Resources */ = { isa = PBXGroup; children = ( - FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */, A508014170A1492DB0D800B3 /* Outline-Bridging-Header.h */, ); name = Resources; @@ -324,9 +324,9 @@ buildRules = ( ); dependencies = ( + 5260B0902C4F1BBF00CDF289 /* PBXTargetDependency */, 70BD687118FFB19500A1EFCF /* PBXTargetDependency */, 5296DB082A57BBAF0009C9BB /* PBXTargetDependency */, - FC5FF9391F3E1E5F0032A745 /* PBXTargetDependency */, ); name = Outline; packageProductDependencies = ( @@ -359,26 +359,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 +395,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 +418,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 +468,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FC5FF9291F3E1E5F0032A745 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -545,16 +510,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 +528,6 @@ name = CordovaLib; targetProxy = 70BD687018FFB19500A1EFCF /* PBXContainerItemProxy */; }; - FC5FF9391F3E1E5F0032A745 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = FC5FF92A1F3E1E5F0032A745 /* VpnExtension */; - targetProxy = FC5FF9381F3E1E5F0032A745 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -865,78 +823,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 +853,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 +880,6 @@ package = 52355CF9295B70020057557B /* XCRemoteSwiftPackageReference "sentry-cocoa" */; productName = Sentry; }; - 52C198962A587525006E0ACE /* PacketTunnelProvider */ = { - isa = XCSwiftPackageProductDependency; - productName = PacketTunnelProvider; - }; 52CBB848295BC79300D0073F /* CocoaLumberjack */ = { isa = XCSwiftPackageProductDependency; package = 52CBB847295BC79300D0073F /* XCRemoteSwiftPackageReference "CocoaLumberjack" */; 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 18e4ad4bcf..0000000000 --- a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension-Info.plist +++ /dev/null @@ -1,35 +0,0 @@ - - - - - CFBundleShortVersionString - 0.0.0-debug - CFBundleVersion - 0 - CFBundleDevelopmentRegion - en - CFBundleDisplayName - VpnExtension - CFBundleExecutable - $(EXECUTABLE_NAME) - ITSAppUsesNonExemptEncryption - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - XPC! - LSMinimumSystemVersion - ${MACOSX_DEPLOYMENT_TARGET} - NSExtension - - NSExtensionPointIdentifier - com.apple.networkextension.packet-tunnel - NSExtensionPrincipalClass - PacketTunnelProvider - - - 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 e8485edf16..0000000000 --- a/client/src/cordova/apple/xcode/macos/Outline/VpnExtension.entitlements +++ /dev/null @@ -1,22 +0,0 @@ - - - - - com.apple.developer.networking.networkextension - - packet-tunnel-provider - - com.apple.security.app-sandbox - - com.apple.security.application-groups - - $(TeamIdentifierPrefix)org.outline.macos.client - - com.apple.security.files.user-selected.read-only - - com.apple.security.network.client - - com.apple.security.network.server - - -