From 28803e99c947fef1b9fd8f255a980280dcc0cf94 Mon Sep 17 00:00:00 2001 From: Aswath Date: Tue, 23 Apr 2024 20:27:43 +0530 Subject: [PATCH 1/3] cocoapods support - add pbxproj --- .gitignore | 1 - NetworkReachability.xcodeproj/project.pbxproj | 510 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../NetworkReachabilityTests.xcscheme | 54 ++ 5 files changed, 579 insertions(+), 1 deletion(-) create mode 100644 NetworkReachability.xcodeproj/project.pbxproj create mode 100644 NetworkReachability.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 NetworkReachability.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 NetworkReachability.xcodeproj/xcshareddata/xcschemes/NetworkReachabilityTests.xcscheme diff --git a/.gitignore b/.gitignore index 3b298120..2b4de2e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ .DS_Store /.build /Packages -/*.xcodeproj xcuserdata/ DerivedData/ .swiftpm/config/registries.json diff --git a/NetworkReachability.xcodeproj/project.pbxproj b/NetworkReachability.xcodeproj/project.pbxproj new file mode 100644 index 00000000..e940a3d8 --- /dev/null +++ b/NetworkReachability.xcodeproj/project.pbxproj @@ -0,0 +1,510 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + D6BEB6F82BD801E100A8E023 /* DispatchQueue+NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6EB2BD801CC00A8E023 /* DispatchQueue+NetworkReachability.swift */; }; + D6BEB6F92BD801E100A8E023 /* WeakReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6EC2BD801CC00A8E023 /* WeakReference.swift */; }; + D6BEB6FA2BD801EB00A8E023 /* NetworkMonitor+Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F42BD801CC00A8E023 /* NetworkMonitor+Notification.swift */; }; + D6BEB6FB2BD801EB00A8E023 /* NetworkMonitorDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F32BD801CC00A8E023 /* NetworkMonitorDelegate.swift */; }; + D6BEB6FC2BD801EB00A8E023 /* PublishersExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F12BD801CC00A8E023 /* PublishersExtensions.swift */; }; + D6BEB6FD2BD801EB00A8E023 /* NetworkMonitor+Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F62BD801CC00A8E023 /* NetworkMonitor+Combine.swift */; }; + D6BEB6FE2BD801EB00A8E023 /* NetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F72BD801CC00A8E023 /* NetworkMonitor.swift */; }; + D6BEB6FF2BD801EB00A8E023 /* NetworkMonitor+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F52BD801CC00A8E023 /* NetworkMonitor+Concurrency.swift */; }; + D6BEB7002BD801EB00A8E023 /* NotificationExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6F02BD801CC00A8E023 /* NotificationExtensions.swift */; }; + D6BEB7092BD8022400A8E023 /* libNetworkReachability.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D6BEB6D72BD8013000A8E023 /* libNetworkReachability.a */; }; + D6BEB70F2BD8024400A8E023 /* NetworkMonitorCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6E52BD801CC00A8E023 /* NetworkMonitorCombineTests.swift */; }; + D6BEB7102BD8024400A8E023 /* NetworkMonitorConcurrencyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6E62BD801CC00A8E023 /* NetworkMonitorConcurrencyTests.swift */; }; + D6BEB7112BD8024400A8E023 /* NetworkMonitorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BEB6E72BD801CC00A8E023 /* NetworkMonitorTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + D6BEB70A2BD8022400A8E023 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D6BEB6CF2BD8013000A8E023 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D6BEB6D62BD8013000A8E023; + remoteInfo = NetworkReachability; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + D6BEB6D52BD8013000A8E023 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + D6BEB6D72BD8013000A8E023 /* libNetworkReachability.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libNetworkReachability.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D6BEB6E52BD801CC00A8E023 /* NetworkMonitorCombineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitorCombineTests.swift; sourceTree = ""; }; + D6BEB6E62BD801CC00A8E023 /* NetworkMonitorConcurrencyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitorConcurrencyTests.swift; sourceTree = ""; }; + D6BEB6E72BD801CC00A8E023 /* NetworkMonitorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitorTests.swift; sourceTree = ""; }; + D6BEB6EB2BD801CC00A8E023 /* DispatchQueue+NetworkReachability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+NetworkReachability.swift"; sourceTree = ""; }; + D6BEB6EC2BD801CC00A8E023 /* WeakReference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeakReference.swift; sourceTree = ""; }; + D6BEB6ED2BD801CC00A8E023 /* NetworkReachability.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = NetworkReachability.docc; sourceTree = ""; }; + D6BEB6F02BD801CC00A8E023 /* NotificationExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationExtensions.swift; sourceTree = ""; }; + D6BEB6F12BD801CC00A8E023 /* PublishersExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublishersExtensions.swift; sourceTree = ""; }; + D6BEB6F32BD801CC00A8E023 /* NetworkMonitorDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitorDelegate.swift; sourceTree = ""; }; + D6BEB6F42BD801CC00A8E023 /* NetworkMonitor+Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NetworkMonitor+Notification.swift"; sourceTree = ""; }; + D6BEB6F52BD801CC00A8E023 /* NetworkMonitor+Concurrency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NetworkMonitor+Concurrency.swift"; sourceTree = ""; }; + D6BEB6F62BD801CC00A8E023 /* NetworkMonitor+Combine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NetworkMonitor+Combine.swift"; sourceTree = ""; }; + D6BEB6F72BD801CC00A8E023 /* NetworkMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitor.swift; sourceTree = ""; }; + D6BEB7052BD8022400A8E023 /* NetworkReachabilityTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetworkReachabilityTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D6BEB6D42BD8013000A8E023 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6BEB7022BD8022400A8E023 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D6BEB7092BD8022400A8E023 /* libNetworkReachability.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D6BEB6CE2BD8013000A8E023 = { + isa = PBXGroup; + children = ( + D6BEB6E82BD801CC00A8E023 /* Sources */, + D6BEB6E32BD801CC00A8E023 /* Tests */, + D6BEB6D82BD8013000A8E023 /* Products */, + ); + sourceTree = ""; + }; + D6BEB6D82BD8013000A8E023 /* Products */ = { + isa = PBXGroup; + children = ( + D6BEB6D72BD8013000A8E023 /* libNetworkReachability.a */, + D6BEB7052BD8022400A8E023 /* NetworkReachabilityTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + D6BEB6E32BD801CC00A8E023 /* Tests */ = { + isa = PBXGroup; + children = ( + D6BEB6E42BD801CC00A8E023 /* NetworkReachabilityTests */, + ); + path = Tests; + sourceTree = ""; + }; + D6BEB6E42BD801CC00A8E023 /* NetworkReachabilityTests */ = { + isa = PBXGroup; + children = ( + D6BEB6E52BD801CC00A8E023 /* NetworkMonitorCombineTests.swift */, + D6BEB6E62BD801CC00A8E023 /* NetworkMonitorConcurrencyTests.swift */, + D6BEB6E72BD801CC00A8E023 /* NetworkMonitorTests.swift */, + ); + path = NetworkReachabilityTests; + sourceTree = ""; + }; + D6BEB6E82BD801CC00A8E023 /* Sources */ = { + isa = PBXGroup; + children = ( + D6BEB6E92BD801CC00A8E023 /* NetworkReachability */, + ); + path = Sources; + sourceTree = ""; + }; + D6BEB6E92BD801CC00A8E023 /* NetworkReachability */ = { + isa = PBXGroup; + children = ( + D6BEB6EA2BD801CC00A8E023 /* Internal */, + D6BEB6ED2BD801CC00A8E023 /* NetworkReachability.docc */, + D6BEB6EE2BD801CC00A8E023 /* API */, + ); + path = NetworkReachability; + sourceTree = ""; + }; + D6BEB6EA2BD801CC00A8E023 /* Internal */ = { + isa = PBXGroup; + children = ( + D6BEB6EB2BD801CC00A8E023 /* DispatchQueue+NetworkReachability.swift */, + D6BEB6EC2BD801CC00A8E023 /* WeakReference.swift */, + ); + path = Internal; + sourceTree = ""; + }; + D6BEB6EE2BD801CC00A8E023 /* API */ = { + isa = PBXGroup; + children = ( + D6BEB6EF2BD801CC00A8E023 /* Extensions */, + D6BEB6F22BD801CC00A8E023 /* NetworkMonitor */, + ); + path = API; + sourceTree = ""; + }; + D6BEB6EF2BD801CC00A8E023 /* Extensions */ = { + isa = PBXGroup; + children = ( + D6BEB6F02BD801CC00A8E023 /* NotificationExtensions.swift */, + D6BEB6F12BD801CC00A8E023 /* PublishersExtensions.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + D6BEB6F22BD801CC00A8E023 /* NetworkMonitor */ = { + isa = PBXGroup; + children = ( + D6BEB6F32BD801CC00A8E023 /* NetworkMonitorDelegate.swift */, + D6BEB6F42BD801CC00A8E023 /* NetworkMonitor+Notification.swift */, + D6BEB6F52BD801CC00A8E023 /* NetworkMonitor+Concurrency.swift */, + D6BEB6F62BD801CC00A8E023 /* NetworkMonitor+Combine.swift */, + D6BEB6F72BD801CC00A8E023 /* NetworkMonitor.swift */, + ); + path = NetworkMonitor; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + D6BEB6D62BD8013000A8E023 /* NetworkReachability */ = { + isa = PBXNativeTarget; + buildConfigurationList = D6BEB6DE2BD8013000A8E023 /* Build configuration list for PBXNativeTarget "NetworkReachability" */; + buildPhases = ( + D6BEB6D32BD8013000A8E023 /* Sources */, + D6BEB6D42BD8013000A8E023 /* Frameworks */, + D6BEB6D52BD8013000A8E023 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = NetworkReachability; + productName = NetworkReachability; + productReference = D6BEB6D72BD8013000A8E023 /* libNetworkReachability.a */; + productType = "com.apple.product-type.library.static"; + }; + D6BEB7042BD8022400A8E023 /* NetworkReachabilityTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = D6BEB70C2BD8022400A8E023 /* Build configuration list for PBXNativeTarget "NetworkReachabilityTests" */; + buildPhases = ( + D6BEB7012BD8022400A8E023 /* Sources */, + D6BEB7022BD8022400A8E023 /* Frameworks */, + D6BEB7032BD8022400A8E023 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + D6BEB70B2BD8022400A8E023 /* PBXTargetDependency */, + ); + name = NetworkReachabilityTests; + productName = NetworkReachabilityTests; + productReference = D6BEB7052BD8022400A8E023 /* NetworkReachabilityTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D6BEB6CF2BD8013000A8E023 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1520; + LastUpgradeCheck = 1520; + TargetAttributes = { + D6BEB6D62BD8013000A8E023 = { + CreatedOnToolsVersion = 15.2; + }; + D6BEB7042BD8022400A8E023 = { + CreatedOnToolsVersion = 15.2; + }; + }; + }; + buildConfigurationList = D6BEB6D22BD8013000A8E023 /* Build configuration list for PBXProject "NetworkReachability" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = D6BEB6CE2BD8013000A8E023; + productRefGroup = D6BEB6D82BD8013000A8E023 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D6BEB6D62BD8013000A8E023 /* NetworkReachability */, + D6BEB7042BD8022400A8E023 /* NetworkReachabilityTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D6BEB7032BD8022400A8E023 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D6BEB6D32BD8013000A8E023 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6BEB6FB2BD801EB00A8E023 /* NetworkMonitorDelegate.swift in Sources */, + D6BEB7002BD801EB00A8E023 /* NotificationExtensions.swift in Sources */, + D6BEB6FD2BD801EB00A8E023 /* NetworkMonitor+Combine.swift in Sources */, + D6BEB6FC2BD801EB00A8E023 /* PublishersExtensions.swift in Sources */, + D6BEB6F82BD801E100A8E023 /* DispatchQueue+NetworkReachability.swift in Sources */, + D6BEB6FA2BD801EB00A8E023 /* NetworkMonitor+Notification.swift in Sources */, + D6BEB6F92BD801E100A8E023 /* WeakReference.swift in Sources */, + D6BEB6FF2BD801EB00A8E023 /* NetworkMonitor+Concurrency.swift in Sources */, + D6BEB6FE2BD801EB00A8E023 /* NetworkMonitor.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6BEB7012BD8022400A8E023 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6BEB70F2BD8024400A8E023 /* NetworkMonitorCombineTests.swift in Sources */, + D6BEB7102BD8024400A8E023 /* NetworkMonitorConcurrencyTests.swift in Sources */, + D6BEB7112BD8024400A8E023 /* NetworkMonitorTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + D6BEB70B2BD8022400A8E023 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D6BEB6D62BD8013000A8E023 /* NetworkReachability */; + targetProxy = D6BEB70A2BD8022400A8E023 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + D6BEB6DC2BD8013000A8E023 /* 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; + 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 = 17.2; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + D6BEB6DD2BD8013000A8E023 /* 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; + 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 = 17.2; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D6BEB6DF2BD8013000A8E023 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = TQNN8N5NP9; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D6BEB6E02BD8013000A8E023 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = TQNN8N5NP9; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + D6BEB70D2BD8022400A8E023 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = TQNN8N5NP9; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.aswathrce.NetworkReachabilityTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D6BEB70E2BD8022400A8E023 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = TQNN8N5NP9; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.aswathrce.NetworkReachabilityTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D6BEB6D22BD8013000A8E023 /* Build configuration list for PBXProject "NetworkReachability" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6BEB6DC2BD8013000A8E023 /* Debug */, + D6BEB6DD2BD8013000A8E023 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D6BEB6DE2BD8013000A8E023 /* Build configuration list for PBXNativeTarget "NetworkReachability" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6BEB6DF2BD8013000A8E023 /* Debug */, + D6BEB6E02BD8013000A8E023 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D6BEB70C2BD8022400A8E023 /* Build configuration list for PBXNativeTarget "NetworkReachabilityTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6BEB70D2BD8022400A8E023 /* Debug */, + D6BEB70E2BD8022400A8E023 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D6BEB6CF2BD8013000A8E023 /* Project object */; +} diff --git a/NetworkReachability.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/NetworkReachability.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/NetworkReachability.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/NetworkReachability.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/NetworkReachability.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/NetworkReachability.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/NetworkReachability.xcodeproj/xcshareddata/xcschemes/NetworkReachabilityTests.xcscheme b/NetworkReachability.xcodeproj/xcshareddata/xcschemes/NetworkReachabilityTests.xcscheme new file mode 100644 index 00000000..170e3841 --- /dev/null +++ b/NetworkReachability.xcodeproj/xcshareddata/xcschemes/NetworkReachabilityTests.xcscheme @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + From 3f9a1631958e8804a30c2a638a48e620a1d19037 Mon Sep 17 00:00:00 2001 From: Aswath Date: Tue, 23 Apr 2024 22:45:41 +0530 Subject: [PATCH 2/3] cocoapods support - add podspec --- NetworkReachability.podspec | 148 ++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 NetworkReachability.podspec diff --git a/NetworkReachability.podspec b/NetworkReachability.podspec new file mode 100644 index 00000000..34350c56 --- /dev/null +++ b/NetworkReachability.podspec @@ -0,0 +1,148 @@ +# +# Be sure to run `pod spec lint NetworkReachability.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +Pod::Spec.new do |spec| + + # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # These will help people to find your library, and whilst it + # can feel like a chore to fill in it's definitely to your advantage. The + # summary should be tweet-length, and the description more in depth. + # + + spec.name = "NetworkReachability" + spec.version = "0.0.1" + spec.summary = "Modern Network Reachability in Swift using Structured Concurrency" + + # This description is used to generate tags and improve search results. + # * Think: What does it do? Why did you write it? What is the focus? + # * Try to keep it short, snappy and to the point. + # * Write the description between the DESC delimiters below. + # * Finally, don't worry about the indent, CocoaPods strips it! + spec.description = <<-DESC + NetworkReachability is a replacement for Apple's SystemConfiguration Network Reachability APIs. Because these APIs were originally written in C, they are quite old and cumbersome to use from Swift. In 2018, Apple added the Network framework which introduced the NWPathMonitor class. This API addressed some of the problems with SCNetworkReachability, but was still cumbersome to integrate into many commonly used app patterns. NetworkReachability wraps both these APIs in easy to use Swift wrappers with similar interfaces and features that will be familiar to most iOS developers. Using NetworkReachablity, you can easily integrate reachability observation into your app's pipeline using just a few lines of code. + +NetworkReachability supports synchronous reachability queries, as well as constant asynchronous reachability observation via the following mechanisms: + +Delegation +Closures +NotificationCenter +Swift Concurrency +Combine +NetworkReachability supports RxSwift bindings with an optional additional package: NetworkReachabilityRxSwift. This optional package exists so that you can safely depend on NetworkReachability without also depending on RxSwift if you don't need to. NetworkReachability itself has no non-apple dependencies. + DESC + + spec.homepage = "https://github.com/aswathr/NetworkReachability" + # spec.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" + + + # ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Licensing your code is important. See https://choosealicense.com for more info. + # CocoaPods will detect a license file if there is a named LICENSE* + # Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. + # + + spec.license = "MIT" + # spec.license = { :type => "MIT", :file => "FILE_LICENSE" } + + + # ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Specify the authors of the library, with email addresses. Email addresses + # of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also + # accepts just a name if you'd rather not provide an email address. + # + # Specify a social_media_url where others can refer to, for example a twitter + # profile URL. + # + + spec.author = { "Aswath" => "aswathrce@gmail.com" } + # Or just: spec.author = "Aswath" + # spec.authors = { "Aswath" => "aswathrce@gmail.com" } + # spec.social_media_url = "https://twitter.com/Aswath" + + # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # If this Pod runs only on iOS or OS X, then specify the platform and + # the deployment target. You can optionally include the target after the platform. + # + + # spec.platform = :ios + # spec.platform = :ios, "5.0" + + # When using multiple platforms + spec.ios.deployment_target = "12.0" + spec.osx.deployment_target = "10.14" + spec.watchos.deployment_target = "6.0" + spec.tvos.deployment_target = "12.0" +# spec.visionos.deployment_target = "1.0" + + + # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Specify the location from where the source should be retrieved. + # Supports git, hg, bzr, svn and HTTP. + # + + spec.source = { :git => "https://github.com/aswathr/NetworkReachability", :tag => "#{spec.version}" } + + + # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # CocoaPods is smart about how it includes source code. For source files + # giving a folder will include any swift, h, m, mm, c & cpp files. + # For header files it will include any header in the folder. + # Not including the public_header_files will make all headers public. + # + + spec.source_files = "Sources/**/*.{swift}" + # spec.exclude_files = "Classes/Exclude" + + # spec.public_header_files = "Classes/**/*.h" + + + # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # A list of resources included with the Pod. These are copied into the + # target bundle with a build phase script. Anything else will be cleaned. + # You can preserve files from being cleaned, please don't preserve + # non-essential files like tests, examples and documentation. + # + + # spec.resource = "icon.png" + # spec.resources = "Resources/*.png" + + # spec.preserve_paths = "FilesToSave", "MoreFilesToSave" + + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # spec.framework = "SomeFramework" + # spec.frameworks = "SomeFramework", "AnotherFramework" + + # spec.library = "iconv" + # spec.libraries = "iconv", "xml2" + + + # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # If your library depends on compiler flags you can set them in the xcconfig hash + # where they will only apply to your library. If you depend on other Podspecs + # you can include multiple dependencies to ensure it works. + + # spec.requires_arc = true + + # spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" } + # spec.dependency "JSONKit", "~> 1.4" + +end From 3f6418deb2455881c14b1ee84cb05fdc4c0262d9 Mon Sep 17 00:00:00 2001 From: Aswath Date: Fri, 26 Apr 2024 20:30:54 +0530 Subject: [PATCH 3/3] point pod spec to original repo --- NetworkReachability.podspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/NetworkReachability.podspec b/NetworkReachability.podspec index 34350c56..48715f89 100644 --- a/NetworkReachability.podspec +++ b/NetworkReachability.podspec @@ -37,7 +37,7 @@ Combine NetworkReachability supports RxSwift bindings with an optional additional package: NetworkReachabilityRxSwift. This optional package exists so that you can safely depend on NetworkReachability without also depending on RxSwift if you don't need to. NetworkReachability itself has no non-apple dependencies. DESC - spec.homepage = "https://github.com/aswathr/NetworkReachability" + spec.homepage = "https://github.com/vsanthanam/NetworkReachability" # spec.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" @@ -62,7 +62,7 @@ NetworkReachability supports RxSwift bindings with an optional additional packag # profile URL. # - spec.author = { "Aswath" => "aswathrce@gmail.com" } + spec.author = { "Varun Santhanam" => "talkto@vsanthanam.com" } # Or just: spec.author = "Aswath" # spec.authors = { "Aswath" => "aswathrce@gmail.com" } # spec.social_media_url = "https://twitter.com/Aswath" @@ -90,7 +90,7 @@ NetworkReachability supports RxSwift bindings with an optional additional packag # Supports git, hg, bzr, svn and HTTP. # - spec.source = { :git => "https://github.com/aswathr/NetworkReachability", :tag => "#{spec.version}" } + spec.source = { :git => "https://github.com/vsanthanam/NetworkReachability", :tag => "#{spec.version}" } # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #