diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f46b7c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,96 @@ +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +# Pods/ +# +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +# Firebase +GoogleService-Info.plist + +# Pods +Pods diff --git a/Podfile b/Podfile new file mode 100644 index 0000000..ed5538d --- /dev/null +++ b/Podfile @@ -0,0 +1,22 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'netdata' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for netdata + # add pods for desired Firebase products + # https://firebase.google.com/docs/ios/setup#available-pods + pod 'Firebase/Crashlytics' + + target 'netdataTests' do + inherit! :search_paths + # Pods for testing + end + + target 'netdataUITests' do + # Pods for testing + end + +end diff --git a/Podfile.lock b/Podfile.lock new file mode 100644 index 0000000..3b40c56 --- /dev/null +++ b/Podfile.lock @@ -0,0 +1,70 @@ +PODS: + - Firebase/CoreOnly (6.31.1): + - FirebaseCore (= 6.10.1) + - Firebase/Crashlytics (6.31.1): + - Firebase/CoreOnly + - FirebaseCrashlytics (~> 4.5.0) + - FirebaseCore (6.10.1): + - FirebaseCoreDiagnostics (~> 1.6) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/Logger (~> 6.7) + - FirebaseCoreDiagnostics (1.6.0): + - GoogleDataTransport (~> 7.2) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/Logger (~> 6.7) + - nanopb (~> 1.30906.0) + - FirebaseCrashlytics (4.5.0): + - FirebaseCore (~> 6.10) + - FirebaseInstallations (~> 1.6) + - GoogleDataTransport (~> 7.2) + - nanopb (~> 1.30906.0) + - PromisesObjC (~> 1.2) + - FirebaseInstallations (1.7.0): + - FirebaseCore (~> 6.10) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/UserDefaults (~> 6.7) + - PromisesObjC (~> 1.2) + - GoogleDataTransport (7.3.0): + - nanopb (~> 1.30906.0) + - GoogleUtilities/Environment (6.7.2): + - PromisesObjC (~> 1.2) + - GoogleUtilities/Logger (6.7.2): + - GoogleUtilities/Environment + - GoogleUtilities/UserDefaults (6.7.2): + - GoogleUtilities/Logger + - nanopb (1.30906.0): + - nanopb/decode (= 1.30906.0) + - nanopb/encode (= 1.30906.0) + - nanopb/decode (1.30906.0) + - nanopb/encode (1.30906.0) + - PromisesObjC (1.2.10) + +DEPENDENCIES: + - Firebase/Crashlytics + +SPEC REPOS: + trunk: + - Firebase + - FirebaseCore + - FirebaseCoreDiagnostics + - FirebaseCrashlytics + - FirebaseInstallations + - GoogleDataTransport + - GoogleUtilities + - nanopb + - PromisesObjC + +SPEC CHECKSUMS: + Firebase: 658370fa0181826a74b7cfca8d68c5856ca749ae + FirebaseCore: 6fb954e350af0885803d5aa49865d15d9a6b264c + FirebaseCoreDiagnostics: 7415bfb3883b3500c5a95c42b6ba66baae78f600 + FirebaseCrashlytics: d2a350ec7fd4a332031b906b0802a7a73697630b + FirebaseInstallations: 466c7b4d1f58fe16707693091da253726a731ed2 + GoogleDataTransport: e85fb700c9b027079ce182c3d08e12e0f9618bb4 + GoogleUtilities: 7f2f5a07f888cdb145101d6042bc4422f57e70b3 + nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc + PromisesObjC: b14b1c6b68e306650688599de8a45e49fae81151 + +PODFILE CHECKSUM: bcb7c0b1e2fff1a49698ab15e97ed3939afa7a92 + +COCOAPODS: 1.9.3 diff --git a/netdata.xcodeproj/project.pbxproj b/netdata.xcodeproj/project.pbxproj index 8d0f51e..dcedd4e 100644 --- a/netdata.xcodeproj/project.pbxproj +++ b/netdata.xcodeproj/project.pbxproj @@ -3,10 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ + 013D3F3D7760922B4F357399 /* Pods_netdata_netdataUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4908D65829BB6DE09935726 /* Pods_netdata_netdataUITests.framework */; }; + 550072C925161E080096BF4D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 550072C825161E080096BF4D /* GoogleService-Info.plist */; }; 5508041624D05ABF002FFAA5 /* ServerAlarms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5508041524D05ABF002FFAA5 /* ServerAlarms.swift */; }; 551420A924C3D6D200A22E9A /* Meter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 551420A824C3D6D200A22E9A /* Meter.swift */; }; 55193D2A24E14D9500FE1D55 /* ReadableGuidePadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55193D2924E14D9500FE1D55 /* ReadableGuidePadding.swift */; }; @@ -49,6 +51,8 @@ 55EE682A24CD962100546B1A /* UserSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55EE682924CD962100546B1A /* UserSettings.swift */; }; 55FC8F6B24BAD8F100CA8751 /* ServerDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55FC8F6A24BAD8F100CA8751 /* ServerDetailView.swift */; }; 55FC8F6E24BADA5B00CA8751 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55FC8F6D24BADA5B00CA8751 /* SettingsView.swift */; }; + 5AF5E4CDC5AE67B816031E30 /* Pods_netdataTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775BC64D606BCC8A52C9B724 /* Pods_netdataTests.framework */; }; + CD74113F2B43A2E9E8237809 /* Pods_netdata.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B1E82E16159B0F329C2C844 /* Pods_netdata.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -82,6 +86,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0B37821B9AFF5798B837BB15 /* Pods-netdata.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdata.release.xcconfig"; path = "Target Support Files/Pods-netdata/Pods-netdata.release.xcconfig"; sourceTree = ""; }; + 43CF445059DFD6753DCD2027 /* Pods-netdata.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdata.debug.xcconfig"; path = "Target Support Files/Pods-netdata/Pods-netdata.debug.xcconfig"; sourceTree = ""; }; + 550072C825161E080096BF4D /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 5508041524D05ABF002FFAA5 /* ServerAlarms.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerAlarms.swift; sourceTree = ""; }; 551420A824C3D6D200A22E9A /* Meter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Meter.swift; sourceTree = ""; }; 55193D2924E14D9500FE1D55 /* ReadableGuidePadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadableGuidePadding.swift; sourceTree = ""; }; @@ -133,6 +140,13 @@ 55EE682924CD962100546B1A /* UserSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSettings.swift; sourceTree = ""; }; 55FC8F6A24BAD8F100CA8751 /* ServerDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerDetailView.swift; sourceTree = ""; }; 55FC8F6D24BADA5B00CA8751 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; + 775BC64D606BCC8A52C9B724 /* Pods_netdataTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_netdataTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 885D1BAEAE180393523D35A9 /* Pods-netdataTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdataTests.debug.xcconfig"; path = "Target Support Files/Pods-netdataTests/Pods-netdataTests.debug.xcconfig"; sourceTree = ""; }; + 8B1E82E16159B0F329C2C844 /* Pods_netdata.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_netdata.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AE5D8B404A07E939824BFC9F /* Pods-netdata-netdataUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdata-netdataUITests.release.xcconfig"; path = "Target Support Files/Pods-netdata-netdataUITests/Pods-netdata-netdataUITests.release.xcconfig"; sourceTree = ""; }; + BD95A69BE87B96971B11103A /* Pods-netdata-netdataUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdata-netdataUITests.debug.xcconfig"; path = "Target Support Files/Pods-netdata-netdataUITests/Pods-netdata-netdataUITests.debug.xcconfig"; sourceTree = ""; }; + D272B75710589A44BD314D7C /* Pods-netdataTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-netdataTests.release.xcconfig"; path = "Target Support Files/Pods-netdataTests/Pods-netdataTests.release.xcconfig"; sourceTree = ""; }; + D4908D65829BB6DE09935726 /* Pods_netdata_netdataUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_netdata_netdataUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -141,6 +155,7 @@ buildActionMask = 2147483647; files = ( 55D1C53824B969AC0087F8A2 /* CloudKit.framework in Frameworks */, + CD74113F2B43A2E9E8237809 /* Pods_netdata.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -148,6 +163,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 5AF5E4CDC5AE67B816031E30 /* Pods_netdataTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -155,6 +171,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 013D3F3D7760922B4F357399 /* Pods_netdata_netdataUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -270,6 +287,7 @@ 55D1C51D24B95E6F0087F8A2 /* netdataUITests */, 55D1C4FF24B95E6D0087F8A2 /* Products */, 55D1C53624B969AC0087F8A2 /* Frameworks */, + 6F6281803DF97AE6CAC26AA9 /* Pods */, ); sourceTree = ""; }; @@ -286,6 +304,7 @@ 55D1C50024B95E6D0087F8A2 /* netdata */ = { isa = PBXGroup; children = ( + 550072C825161E080096BF4D /* GoogleService-Info.plist */, 5508041024D049B8002FFAA5 /* Core */, 55D1C53524B969A50087F8A2 /* netdata.entitlements */, 55D1C53224B9635D0087F8A2 /* Models */, @@ -354,6 +373,9 @@ 55D1C53724B969AC0087F8A2 /* CloudKit.framework */, 552B4E7724CD16C0008B9DA6 /* WidgetKit.framework */, 552B4E7924CD16C0008B9DA6 /* SwiftUI.framework */, + 8B1E82E16159B0F329C2C844 /* Pods_netdata.framework */, + D4908D65829BB6DE09935726 /* Pods_netdata_netdataUITests.framework */, + 775BC64D606BCC8A52C9B724 /* Pods_netdataTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -402,6 +424,19 @@ path = Settings; sourceTree = ""; }; + 6F6281803DF97AE6CAC26AA9 /* Pods */ = { + isa = PBXGroup; + children = ( + 43CF445059DFD6753DCD2027 /* Pods-netdata.debug.xcconfig */, + 0B37821B9AFF5798B837BB15 /* Pods-netdata.release.xcconfig */, + BD95A69BE87B96971B11103A /* Pods-netdata-netdataUITests.debug.xcconfig */, + AE5D8B404A07E939824BFC9F /* Pods-netdata-netdataUITests.release.xcconfig */, + 885D1BAEAE180393523D35A9 /* Pods-netdataTests.debug.xcconfig */, + D272B75710589A44BD314D7C /* Pods-netdataTests.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -409,18 +444,19 @@ isa = PBXNativeTarget; buildConfigurationList = 55D1C52324B95E6F0087F8A2 /* Build configuration list for PBXNativeTarget "netdata" */; buildPhases = ( + F8EEDA9FF30D8C5AE5EC702F /* [CP] Check Pods Manifest.lock */, 55D1C4FA24B95E6D0087F8A2 /* Sources */, 55D1C4FB24B95E6D0087F8A2 /* Frameworks */, 55D1C4FC24B95E6D0087F8A2 /* Resources */, 552B4E8424CD16C2008B9DA6 /* Embed App Extensions */, + 5A98738B268D5A27C4252050 /* [CP] Embed Pods Frameworks */, + 550072D025161E540096BF4D /* ShellScript */, ); buildRules = ( ); dependencies = ( ); name = netdata; - packageProductDependencies = ( - ); productName = netdata; productReference = 55D1C4FE24B95E6D0087F8A2 /* netdata.app */; productType = "com.apple.product-type.application"; @@ -429,6 +465,7 @@ isa = PBXNativeTarget; buildConfigurationList = 55D1C52624B95E6F0087F8A2 /* Build configuration list for PBXNativeTarget "netdataTests" */; buildPhases = ( + FB3DAE12ADA8C866D6893866 /* [CP] Check Pods Manifest.lock */, 55D1C50B24B95E6F0087F8A2 /* Sources */, 55D1C50C24B95E6F0087F8A2 /* Frameworks */, 55D1C50D24B95E6F0087F8A2 /* Resources */, @@ -447,9 +484,11 @@ isa = PBXNativeTarget; buildConfigurationList = 55D1C52924B95E6F0087F8A2 /* Build configuration list for PBXNativeTarget "netdataUITests" */; buildPhases = ( + AABBD21D0AA27DC379B9D922 /* [CP] Check Pods Manifest.lock */, 55D1C51624B95E6F0087F8A2 /* Sources */, 55D1C51724B95E6F0087F8A2 /* Frameworks */, 55D1C51824B95E6F0087F8A2 /* Resources */, + 4AA7CE8059D3A58624B5116B /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -492,8 +531,6 @@ Base, ); mainGroup = 55D1C4F524B95E6D0087F8A2; - packageReferences = ( - ); productRefGroup = 55D1C4FF24B95E6D0087F8A2 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -511,6 +548,7 @@ buildActionMask = 2147483647; files = ( 55D1C50924B95E6F0087F8A2 /* Preview Assets.xcassets in Resources */, + 550072C925161E080096BF4D /* GoogleService-Info.plist in Resources */, 55D1C50624B95E6F0087F8A2 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -531,6 +569,128 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 4AA7CE8059D3A58624B5116B /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-netdata-netdataUITests/Pods-netdata-netdataUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-netdata-netdataUITests/Pods-netdata-netdataUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-netdata-netdataUITests/Pods-netdata-netdataUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 550072D025161E540096BF4D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", + "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}", + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\"${PODS_ROOT}/FirebaseCrashlytics/run\"\n"; + }; + 5A98738B268D5A27C4252050 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-netdata/Pods-netdata-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-netdata/Pods-netdata-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-netdata/Pods-netdata-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + AABBD21D0AA27DC379B9D922 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-netdata-netdataUITests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F8EEDA9FF30D8C5AE5EC702F /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-netdata-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FB3DAE12ADA8C866D6893866 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-netdataTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 55D1C4FA24B95E6D0087F8A2 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -726,13 +886,14 @@ }; 55D1C52424B95E6F0087F8A2 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 43CF445059DFD6753DCD2027 /* Pods-netdata.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = netdata/netdata.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 8; + CURRENT_PROJECT_VERSION = 9; DEVELOPMENT_ASSET_PATHS = "\"netdata/Preview Content\""; DEVELOPMENT_TEAM = H78GYE72WQ; ENABLE_PREVIEWS = YES; @@ -742,7 +903,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = com.techulus.netdata; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = NO; @@ -754,13 +915,14 @@ }; 55D1C52524B95E6F0087F8A2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0B37821B9AFF5798B837BB15 /* Pods-netdata.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = netdata/netdata.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 8; + CURRENT_PROJECT_VERSION = 9; DEVELOPMENT_ASSET_PATHS = "\"netdata/Preview Content\""; DEVELOPMENT_TEAM = H78GYE72WQ; ENABLE_PREVIEWS = YES; @@ -770,7 +932,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = com.techulus.netdata; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = NO; @@ -782,6 +944,7 @@ }; 55D1C52724B95E6F0087F8A2 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 885D1BAEAE180393523D35A9 /* Pods-netdataTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -804,6 +967,7 @@ }; 55D1C52824B95E6F0087F8A2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D272B75710589A44BD314D7C /* Pods-netdataTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -826,6 +990,7 @@ }; 55D1C52A24B95E6F0087F8A2 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BD95A69BE87B96971B11103A /* Pods-netdata-netdataUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; @@ -846,6 +1011,7 @@ }; 55D1C52B24B95E6F0087F8A2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AE5D8B404A07E939824BFC9F /* Pods-netdata-netdataUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; diff --git a/netdata.xcodeproj/xcuserdata/arjunkomath.xcuserdatad/xcschemes/xcschememanagement.plist b/netdata.xcodeproj/xcuserdata/arjunkomath.xcuserdatad/xcschemes/xcschememanagement.plist index 3b0d08a..a7db691 100644 --- a/netdata.xcodeproj/xcuserdata/arjunkomath.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/netdata.xcodeproj/xcuserdata/arjunkomath.xcuserdatad/xcschemes/xcschememanagement.plist @@ -33,7 +33,7 @@ netdata.xcscheme_^#shared#^_ orderHint - 0 + 12 diff --git a/netdata.xcworkspace/contents.xcworkspacedata b/netdata.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..6eb9f96 --- /dev/null +++ b/netdata.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/netdata.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/netdata.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/netdata.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/netdata/Core/Data/ServerService.swift b/netdata/Core/Data/ServerService.swift index 705d4d3..50eb756 100644 --- a/netdata/Core/Data/ServerService.swift +++ b/netdata/Core/Data/ServerService.swift @@ -28,7 +28,9 @@ public class ServerService: ObservableObject, PublicCloudService { } container.fetchUserRecordID { (id, error) in - Self.userCloudKitId = id + if (id != nil) { + Self.userCloudKitId = id + } } } diff --git a/netdata/Core/Data/UserSettings.swift b/netdata/Core/Data/UserSettings.swift index 1acca43..db61398 100644 --- a/netdata/Core/Data/UserSettings.swift +++ b/netdata/Core/Data/UserSettings.swift @@ -42,14 +42,6 @@ class UserSettings: ObservableObject { } } - // MARK:- Widget - - @Published var widgetServerBaseUrl: String { - didSet { - UserDefaults.standard.set(widgetServerBaseUrl, forKey: "widgetServerBaseUrl") - } - } - init() { // First launch self.HasLaunchedOnce = UserDefaults.standard.object(forKey: "HasLaunchedOnce") as? Bool ?? false @@ -58,8 +50,5 @@ class UserSettings: ObservableObject { self.appTintColor = UserDefaults.standard.colorForKey(key: "appTintColor") != nil ? Color(UserDefaults.standard.colorForKey(key: "appTintColor")!) : Color.blue self.hapticFeedback = UserDefaults.standard.object(forKey: "hapticFeedback") as? Bool ?? true - - // Widget - self.widgetServerBaseUrl = UserDefaults.standard.object(forKey: "widgetServerBaseUrl") as? String ?? "" } } diff --git a/netdata/Modules/ServerList/Components/ServerListRow.swift b/netdata/Modules/ServerList/Components/ServerListRow.swift index 1085f0d..0997379 100644 --- a/netdata/Modules/ServerList/Components/ServerListRow.swift +++ b/netdata/Modules/ServerList/Components/ServerListRow.swift @@ -67,13 +67,6 @@ struct ServerListRow: View { Image(systemName: "pencil") } - Button(action: { - userSettings.widgetServerBaseUrl = server.url - }) { - Text("Set as widget server") - Image(systemName: "rectangle.stack.fill") - } - if server.isFavourite == 1 { Button(action: { var updatedServer = NDServer(name: server.name, diff --git a/netdata/netdataApp.swift b/netdata/netdataApp.swift index c24906d..2da0521 100644 --- a/netdata/netdataApp.swift +++ b/netdata/netdataApp.swift @@ -6,11 +6,16 @@ // import SwiftUI +import Firebase @main struct netdataApp: App { @ObservedObject var userSettings = UserSettings() + init() { + FirebaseApp.configure() + } + var window: UIWindow? { guard let scene = UIApplication.shared.connectedScenes.first, let windowSceneDelegate = scene.delegate as? UIWindowSceneDelegate,