diff --git a/.github/secrets/Certificates.p12.gpg b/.github/secrets/Certificates.p12.gpg index ca61fe6..21c7197 100644 Binary files a/.github/secrets/Certificates.p12.gpg and b/.github/secrets/Certificates.p12.gpg differ diff --git a/.github/secrets/decrypt_secrets.sh b/.github/secrets/decrypt_secrets.sh index d842aa5..a058694 100755 --- a/.github/secrets/decrypt_secrets.sh +++ b/.github/secrets/decrypt_secrets.sh @@ -5,23 +5,23 @@ echo "Start Import" gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/Certificates.p12 .github/secrets/Certificates.p12.gpg -gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_2022.mobileprovision .github/secrets/mindLAMP2_2022.mobileprovision.gpg -gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision .github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision.gpg -gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision .github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision.gpg +gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2.mobileprovision .github/secrets/mindLAMP2.mobileprovision.gpg +gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_Custom_Notification_Extension.mobileprovision .github/secrets/mindLAMP2_Custom_Notification_Extension.mobileprovision.gpg +gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_Notification_Service.mobileprovision .github/secrets/mindLAMP2_Notification_Service.mobileprovision.gpg -gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision .github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision.gpg -gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision .github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision.gpg +gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_WatchApp_Extension.mobileprovision .github/secrets/mindLAMP2_WatchApp_Extension.mobileprovision.gpg +gpg --quiet --batch --yes --decrypt --passphrase="$IOS_KEYS" --output .github/secrets/mindLAMP2_WatchApp.mobileprovision .github/secrets/mindLAMP2_WatchApp.mobileprovision.gpg echo "Imported" mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles -cp .github/secrets/mindLAMP2_2022.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_2022.mobileprovision -cp .github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision -cp .github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_Notification_Service_AppStore.mobileprovision +cp .github/secrets/mindLAMP2_2022.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2.mobileprovision +cp .github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_Custom_Notification_Extension.mobileprovision +cp .github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_Notification_Service.mobileprovision -cp .github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision -cp .github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_WatchApp_AppStore.mobileprovision +cp .github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_WatchApp_Extension.mobileprovision +cp .github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/mindLAMP2_WatchApp.mobileprovision echo "Copied" diff --git a/.github/secrets/mindLAMP2.mobileprovision.gpg b/.github/secrets/mindLAMP2.mobileprovision.gpg new file mode 100644 index 0000000..9b0129c Binary files /dev/null and b/.github/secrets/mindLAMP2.mobileprovision.gpg differ diff --git a/.github/secrets/mindLAMP2_2022.mobileprovision.gpg b/.github/secrets/mindLAMP2_2022.mobileprovision.gpg deleted file mode 100644 index d49b644..0000000 Binary files a/.github/secrets/mindLAMP2_2022.mobileprovision.gpg and /dev/null differ diff --git a/.github/secrets/mindLAMP2_Custom_Notification_Extension.mobileprovision.gpg b/.github/secrets/mindLAMP2_Custom_Notification_Extension.mobileprovision.gpg new file mode 100644 index 0000000..5f3efeb Binary files /dev/null and b/.github/secrets/mindLAMP2_Custom_Notification_Extension.mobileprovision.gpg differ diff --git a/.github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision.gpg b/.github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision.gpg deleted file mode 100644 index 76ae414..0000000 Binary files a/.github/secrets/mindLAMP2_Custom_Notification_Extension_AppStore.mobileprovision.gpg and /dev/null differ diff --git a/.github/secrets/mindLAMP2_Notification_Service.mobileprovision.gpg b/.github/secrets/mindLAMP2_Notification_Service.mobileprovision.gpg new file mode 100644 index 0000000..b3237c1 Binary files /dev/null and b/.github/secrets/mindLAMP2_Notification_Service.mobileprovision.gpg differ diff --git a/.github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision.gpg b/.github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision.gpg deleted file mode 100644 index a723054..0000000 Binary files a/.github/secrets/mindLAMP2_Notification_Service_AppStore.mobileprovision.gpg and /dev/null differ diff --git a/.github/secrets/mindLAMP2_WatchApp.mobileprovision.gpg b/.github/secrets/mindLAMP2_WatchApp.mobileprovision.gpg new file mode 100644 index 0000000..2533a7b Binary files /dev/null and b/.github/secrets/mindLAMP2_WatchApp.mobileprovision.gpg differ diff --git a/.github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision.gpg b/.github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision.gpg deleted file mode 100644 index 058baa4..0000000 Binary files a/.github/secrets/mindLAMP2_WatchApp_AppStore.mobileprovision.gpg and /dev/null differ diff --git a/.github/secrets/mindLAMP2_WatchApp_Extension.mobileprovision.gpg b/.github/secrets/mindLAMP2_WatchApp_Extension.mobileprovision.gpg new file mode 100644 index 0000000..10b6776 Binary files /dev/null and b/.github/secrets/mindLAMP2_WatchApp_Extension.mobileprovision.gpg differ diff --git a/.github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision.gpg b/.github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision.gpg deleted file mode 100644 index 036fa41..0000000 Binary files a/.github/secrets/mindLAMP2_WatchApp_Extension_AppStore.mobileprovision.gpg and /dev/null differ diff --git a/SharedToWatchExt/Logging/Logging.swift b/SharedToWatchExt/Logging/Logging.swift index b9b3d31..3c1dce4 100755 --- a/SharedToWatchExt/Logging/Logging.swift +++ b/SharedToWatchExt/Logging/Logging.swift @@ -22,7 +22,7 @@ class Logging { // MARK: - Global functions for logging func print(_ items: Any ..., separator: String = " ", terminator: String = "\n") { - //#if DEBUG + #if DEBUG var idx = items.startIndex let endIdx = items.endIndex repeat { @@ -30,7 +30,7 @@ func print(_ items: Any ..., separator: String = " ", terminator: String = "\n") idx += 1 } while idx < endIdx - //#endif + #endif } /** Prints the filename, function name, line number and textual representation of `object` and a newline character into diff --git a/SharedToWatchExt/SensorManager/LMSensorManager+SensorObservers.swift b/SharedToWatchExt/SensorManager/LMSensorManager+SensorObservers.swift index 7e54c37..a698686 100644 --- a/SharedToWatchExt/SensorManager/LMSensorManager+SensorObservers.swift +++ b/SharedToWatchExt/SensorManager/LMSensorManager+SensorObservers.swift @@ -28,13 +28,11 @@ extension LMSensorManager: SensorStore { DispatchQueue.main.async { (UIApplication.shared.delegate as? AppDelegate)?.calculateBadgeCount() } - sensor_wifi?.startScanning() //set 15 seconds delay to fetch all healthkit data printToFile("15 seconds delay") DispatchQueue.global().asyncAfter(deadline: .now() + 15) { printToFile("----") - self.sensor_wifi?.stopScanning() if self.sensor_location == nil { printToFile("\ndeallocated") return } //stop syncing if sensors are stopped @@ -293,23 +291,4 @@ extension LMSensorManager: ScreenStateObserver { } } -// MARK: - WiFiObserver -extension LMSensorManager: WiFiObserver { - - func onWiFiAPDetected(data: WiFiScanData) { - latestWifiData = data - } - - func onWiFiDisabled() { - print("\(#function)") - } - - func onWiFiScanStarted() { - print("\(#function)") - } - - func onWiFiScanEnded() { - print("\(#function)") - } -} #endif diff --git a/SharedToWatchExt/SensorManager/LMSensorManager.swift b/SharedToWatchExt/SensorManager/LMSensorManager.swift index dc26d4c..631922d 100755 --- a/SharedToWatchExt/SensorManager/LMSensorManager.swift +++ b/SharedToWatchExt/SensorManager/LMSensorManager.swift @@ -72,14 +72,14 @@ class LMSensorManager { #if os(iOS) var sensor_calls: CallsSensor? var lampScreenSensor: ScreenSensor? - var sensor_wifi: WiFiSensor? + //var sensor_wifi: WiFiSensor? #endif #if os(iOS) var reachability: Reachability = try! Reachability() #endif - var sensor_bluetooth: LMBluetoothSensor? + var nearByDevice: NearByDevice? var sensor_healthKit: LMHealthKitSensor? var sensor_pedometer: PedometerSensor? @@ -100,8 +100,6 @@ class LMSensorManager { var pedometerDataBuffer = [PedometerData]() let queuePedometerData = DispatchQueue(label: "thread-safe-PedometerData", attributes: .concurrent) - var latestWifiData: WiFiScanData? - //SensorKit Data let queueSensorKitBufferData = DispatchQueue(label: "thread-safe-VisitData", attributes: .concurrent) var sensorKitDataBuffer: [SensorKitEvent] = [] @@ -292,8 +290,7 @@ class LMSensorManager { setupScreenSensor() } if sensorIdentifiers.contains(SensorType.lamp_nearby_device.lampIdentifier) { - setupWifiSensor() - setupBluetoothSensor() + setupNearBySensor() } setupHealthKitSensor(sensorIdentifiers) @@ -307,7 +304,7 @@ class LMSensorManager { private func deinitSensors() { sensor_motionManager = nil - sensor_bluetooth = nil + nearByDevice = nil sensor_healthKit = nil sensor_location = nil @@ -315,7 +312,6 @@ class LMSensorManager { sensor_pedometer = nil #if os(iOS) sensor_calls = nil - sensor_wifi = nil lampScreenSensor = nil #endif } @@ -616,9 +612,13 @@ private extension LMSensorManager { return false } - func setupBluetoothSensor() { - sensor_bluetooth = LMBluetoothSensor() - sensorManager.addSensor(sensor_bluetooth!) + func setupNearBySensor() { + nearByDevice = NearByDevice(NearByDevice.Config().apply(closure: { config in + if let frquency = frquencySettings[SensorType.lamp_nearby_device.lampIdentifier] { + config.frequency = frquency + } + })) + sensorManager.addSensor(nearByDevice!) } func setupHealthKitSensor(_ specIdentifiers: [String]) { @@ -704,14 +704,6 @@ private extension LMSensorManager { })) sensorManager.addSensor(lampScreenSensor!) } - - func setupWifiSensor() { - //we start scanning only when using the default timer (i.e when calling timeTostore() ) - sensor_wifi = WiFiSensor.init(WiFiSensor.Config().apply(closure: { config in - config.sensorObserver = self - })) - sensorManager.addSensor(sensor_wifi!) - } #endif } @@ -750,6 +742,10 @@ private extension LMSensorManager { if let data = fetchHealthKitQuantityData() { arraySensorData.append(contentsOf: data) } + if let data = fetchBPData() { + arraySensorData.append(contentsOf: data) + } + if let data = fetchHKCategoryData() { arraySensorData.append(contentsOf: data) } @@ -759,7 +755,6 @@ private extension LMSensorManager { } sensor_healthKit?.clearDataArrays()//clear all healthkit data fetched #endif - return arraySensorData } } @@ -906,26 +901,30 @@ private extension LMSensorManager { func fetchNearbyDeviceData() -> [SensorEvent] { var dataArray: [SensorEvent] = [] - if let data = sensor_bluetooth?.latestData() { - var model = SensorDataModel() - model.type = SensorType.NearbyDevicetype.bluetooth - model.address = data.address - model.name = data.name - model.strength = data.rssi - let bluetoothevent = SensorEvent(timestamp: data.timestamp, sensor: SensorType.lamp_nearby_device.lampIdentifier, data: model) - dataArray.append(bluetoothevent) + if let dataa = nearByDevice?.latestBluetoothData() { + dataa.forEach { data in + var model = SensorDataModel() + model.type = SensorType.NearbyDevicetype.bluetooth + model.address = data.address + model.name = data.name + model.strength = data.rssi + let bluetoothevent = SensorEvent(timestamp: data.timestamp, sensor: SensorType.lamp_nearby_device.lampIdentifier, data: model) + dataArray.append(bluetoothevent) + } + } - if let data = latestWifiData { - var model = SensorDataModel() - model.type = SensorType.NearbyDevicetype.wifi - model.address = data.bssid - model.name = data.ssid - model.strength = data.rssi - let wifiEvent = SensorEvent(timestamp: data.timestamp, sensor: SensorType.lamp_nearby_device.lampIdentifier, data: model) - dataArray.append(wifiEvent) - //clear existing - latestWifiData = nil + if let dataa = nearByDevice?.latestWifiData() { + dataa.forEach { data in + var model = SensorDataModel() + model.type = SensorType.NearbyDevicetype.wifi + model.address = data.bssid + model.name = data.ssid + model.strength = data.rssi + let wifiEvent = SensorEvent(timestamp: data.timestamp, sensor: SensorType.lamp_nearby_device.lampIdentifier, data: model) + dataArray.append(wifiEvent) + } + } return dataArray } @@ -994,6 +993,27 @@ private extension LMSensorManager { } return arrayData } + + func fetchBPData() -> [SensorEvent]? { + guard let arrData = sensor_healthKit?.latestBPData() else { + return nil + } + + return arrData.compactMap { bpdata in + + if let sys = bpdata.systolic, let dias = bpdata.diastolic { + var model = SensorDataModel() + model.diastolic = SensorDataModel.Pressure(value: dias, units: bpdata.unit, source: bpdata.source, timestamp: UInt64(bpdata.timestamp)) + model.systolic = SensorDataModel.Pressure(value: sys, units: bpdata.unit, source: bpdata.source, timestamp: UInt64(bpdata.timestamp)) + model.startDate = bpdata.startDate + model.endDate = bpdata.endDate + model.source = Tristate(bpdata.source) + model.device_model = Tristate(bpdata.hkDevice) + return SensorEvent(timestamp: Double(Date().timeInMilliSeconds), sensor: bpdata.hkIdentifier.lampIdentifier, data: model) + } + return nil + } + } func fetchHealthKitQuantityData() -> [SensorEvent]? { guard let arrData = sensor_healthKit?.latestQuantityData() else { @@ -1001,25 +1021,12 @@ private extension LMSensorManager { } var arrayData = [SensorEvent]() - guard let quantityTypes: [HKQuantityTypeIdentifier] = sensor_healthKit?.healthQuantityTypes.map( {HKQuantityTypeIdentifier(rawValue: $0.identifier)} ) else { return nil } + guard let quantityTypes: [HKQuantityTypeIdentifier] = sensor_healthKit?.healthQuantityTypes(isForAuthoroization: false).map( {HKQuantityTypeIdentifier(rawValue: $0.identifier)} ) else { return nil } for quantityType in quantityTypes { switch quantityType { case .bloodPressureSystolic: - if let dataDiastolic = latestData(for: HKQuantityTypeIdentifier.bloodPressureDiastolic, in: arrData), let dataSystolic = latestData(for: HKQuantityTypeIdentifier.bloodPressureSystolic, in: arrData) { - var model = SensorDataModel() - if let diastolic = dataDiastolic.value { - model.diastolic = SensorDataModel.Pressure(value: diastolic, units: dataDiastolic.unit, source: dataDiastolic.source, timestamp: UInt64(dataDiastolic.timestamp)) - } - if let systolic = dataSystolic.value { - model.systolic = SensorDataModel.Pressure(value: systolic, units: dataSystolic.unit, source: dataSystolic.source, timestamp: UInt64(dataSystolic.timestamp)) - } - model.startDate = dataSystolic.startDate - model.endDate = dataSystolic.endDate - model.source = Tristate(dataDiastolic.source) - model.device_model = Tristate(dataDiastolic.hkDevice) - arrayData.append(SensorEvent(timestamp: Double(Date().timeInMilliSeconds), sensor: quantityType.lampIdentifier, data: model)) - } + () case .bloodPressureDiastolic: ()//handled with Systolic default://bodyMass, height, respiratoryRate, heartRate diff --git a/mindLAMP.xcodeproj/project.pbxproj b/mindLAMP.xcodeproj/project.pbxproj index 35178f6..0ec3da2 100644 --- a/mindLAMP.xcodeproj/project.pbxproj +++ b/mindLAMP.xcodeproj/project.pbxproj @@ -1262,9 +1262,10 @@ CODE_SIGN_ENTITLEMENTS = mindLAMP/mindLAMP.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_ASSET_PATHS = "\"mindLAMP/Preview Content\""; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -1279,7 +1280,8 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp; PRODUCT_NAME = "mindLAMP 2"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 2022"; + PROVISIONING_PROFILE_SPECIFIER = mindLAMP2; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = mindLAMP2; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "mindLAMP/mindLAMP-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -1299,6 +1301,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = CustomNotification/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1309,7 +1312,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.CustomNotification; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Custom Notification Extension"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1326,6 +1330,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1336,7 +1341,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Notification Service"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1354,8 +1360,9 @@ CODE_SIGN_ENTITLEMENTS = "watchkitapp Extension/watchkitapp Extension.entitlements"; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=watchos*]" = S2Y2D4239K; INFOPLIST_FILE = watchkitapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", @@ -1364,7 +1371,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.wearable; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 WatchApp AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP WatchApp Dev"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=watchos*]" = "mindLAMP2 WatchApp"; SDKROOT = watchos; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1443,9 +1451,10 @@ CODE_SIGN_ENTITLEMENTS = mindLAMP/mindLAMP.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_ASSET_PATHS = "\"mindLAMP/Preview Content\""; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -1460,7 +1469,8 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp; PRODUCT_NAME = "mindLAMP 2"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 2022"; + PROVISIONING_PROFILE_SPECIFIER = mindLAMP2; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = mindLAMP2; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "mindLAMP/mindLAMP-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -1479,6 +1489,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = CustomNotification/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1489,7 +1500,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.CustomNotification; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Custom Notification Extension"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1506,6 +1518,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1516,7 +1529,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Notification Service"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1534,8 +1548,9 @@ CODE_SIGN_ENTITLEMENTS = "watchkitapp Extension/watchkitapp Extension.entitlements"; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=watchos*]" = S2Y2D4239K; INFOPLIST_FILE = watchkitapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", @@ -1544,7 +1559,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.wearable; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 WatchApp AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP WatchApp Dev"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=watchos*]" = "mindLAMP2 WatchApp"; SDKROOT = watchos; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1564,8 +1580,9 @@ CODE_SIGN_ENTITLEMENTS = "watchkitapp Extension/watchkitapp Extension.entitlements"; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=watchos*]" = S2Y2D4239K; INFOPLIST_FILE = watchkitapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", @@ -1574,7 +1591,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.wearable; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 WatchApp AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP WatchApp Dev"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=watchos*]" = "mindLAMP2 WatchApp"; SDKROOT = watchos; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1594,8 +1612,9 @@ CODE_SIGN_ENTITLEMENTS = "watchkitapp Extension/watchkitapp Extension.entitlements"; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=watchos*]" = S2Y2D4239K; INFOPLIST_FILE = watchkitapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", @@ -1604,7 +1623,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.wearable; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 WatchApp AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP WatchApp Dev"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=watchos*]" = "mindLAMP2 WatchApp"; SDKROOT = watchos; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1623,6 +1643,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1633,7 +1654,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Notification Service"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1650,6 +1672,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1660,7 +1683,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Notification Service"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Notification Service"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1802,9 +1826,10 @@ CODE_SIGN_ENTITLEMENTS = mindLAMP/mindLAMP.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_ASSET_PATHS = "\"mindLAMP/Preview Content\""; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -1819,7 +1844,8 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp; PRODUCT_NAME = "mindLAMP 2"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 2022"; + PROVISIONING_PROFILE_SPECIFIER = mindLAMP2; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = mindLAMP2; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "mindLAMP/mindLAMP-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -1840,9 +1866,10 @@ CODE_SIGN_ENTITLEMENTS = mindLAMP/mindLAMP.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 408; + CURRENT_PROJECT_VERSION = 412; DEVELOPMENT_ASSET_PATHS = "\"mindLAMP/Preview Content\""; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -1857,7 +1884,8 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp; PRODUCT_NAME = "mindLAMP 2"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 2022"; + PROVISIONING_PROFILE_SPECIFIER = mindLAMP2; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = mindLAMP2; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "mindLAMP/mindLAMP-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -1876,6 +1904,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = CustomNotification/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1886,7 +1915,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.CustomNotification; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Custom Notification Extension"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1903,6 +1933,7 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 408; DEVELOPMENT_TEAM = S2Y2D4239K; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = S2Y2D4239K; INFOPLIST_FILE = CustomNotification/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1913,7 +1944,8 @@ MARKETING_VERSION = 2023.8.25; PRODUCT_BUNDLE_IDENTIFIER = digital.lamp.mindlamp.CustomNotification; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension AppStore"; + PROVISIONING_PROFILE_SPECIFIER = "mindLAMP2 Custom Notification Extension"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "mindLAMP2 Custom Notification Extension"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1986,8 +2018,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/BIDMCDigitalPsychiatry/LAMP-swift.git"; requirement = { - kind = upToNextMajorVersion; - minimumVersion = 2023.10.11; + kind = exactVersion; + version = 2023.12.19; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/mindLAMP.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/mindLAMP.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 47a9824..a6edda9 100644 --- a/mindLAMP.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/mindLAMP.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/BIDMCDigitalPsychiatry/LAMP-swift.git", "state" : { - "revision" : "9a9475c70c2231d071c8b86e609009519f218620", - "version" : "2023.10.11" + "revision" : "10ba053cd95a10d8a5cd11a8f031b8bc77b89b90", + "version" : "2023.12.19" } } ], diff --git a/mindLAMP/Info.plist b/mindLAMP/Info.plist index 6b40ea0..fcc0c5c 100755 --- a/mindLAMP/Info.plist +++ b/mindLAMP/Info.plist @@ -34,9 +34,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 2023.5.2 + 2023.8.25 CFBundleVersion - 408 + 412 DASHBOARD_URL $(DASHBOARD_URL) ITSAppUsesNonExemptEncryption @@ -115,6 +115,7 @@ UIBackgroundModes + bluetooth-central fetch location remote-notification diff --git a/watchkitapp/Info.plist b/watchkitapp/Info.plist index 1aa067a..91a73df 100644 --- a/watchkitapp/Info.plist +++ b/watchkitapp/Info.plist @@ -21,7 +21,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 408 + $(CURRENT_PROJECT_VERSION) CLKComplicationPrincipalClass $(PRODUCT_MODULE_NAME).ComplicationController DASHBOARD_URL