Post

Replies

Boosts

Views

Activity

Filter using .contains for a nested array
I have an app that displays a large number of physically marked walking routes in The Netherlands. Loads of fun. For my next release I'm planning to add filters to the map, to make it easier to find the best route. I have build a solution for that, but I'm sure there's a more efficient or clean way to do this. Thus I turn to you, the community, for a sanity check. My setup data structure wise (unchangeable) - simplified to relevant-only for readability: struct Location: Codable, Identifiable, Hashable, Equatable { let id: Int let longitude, latitude: Double let routes: [Route] } struct Route: Codable, Identifiable { let id : Int let marking: String let distance: Double } I have an array of Location objects, which in turn include an array of Route objects (max 5). Each route has a distance (length of the walk) attribute. I want to filter for a specific distance. Routes are ordered by length inside a Location. So the shortest walk at a specific location is locations.place[xyz].route[0] I have a filter button setup that outputs a minDistance and maxDistance : Double that I feed into the filter fund. My current filter function solution checks index 0: return locations.places.filter { location in (minDistance..<maxDistance).contains(location.routes[0].distance) } This returns an array of locations where route[0] (the shortest walk at the location) matches the user's preferred walk length. This means that I miss a fair amount of positive results. I feel like something like this should be possible, to check all routes at a location: return locations.places.filter { location in (minDistance..<maxDistance).contains(location.routes[*].distance) } Unfortunately this doesn't work. Neither does [0...5] or similar thoughts. As I'm quite new at developing, and I only have short bursts of time to work on this app, I feel like I might be missing something very obvious here. Is there a way to change the .contains(location.routes[something-goes-here].distance) check to test all routes and not just index 0?
1
0
607
Jun ’23
Xcode 15 iOS 17 Failed to install app on the device
Hi all, I've spent 3 of my 'coding-time' sessions already on trying to figure this one out. But I wasn't successful. I'm a hobby dev, so not too experienced with signing of anything code-wise. So time to head to the forums for help. My SwiftUI app runs fine on the simulator. My app also runs fine when downloaded from the store. But I cannot: Build the item from Xcode to my new iPhone 15 Build and distribute an archive, so that I can release a new version of my app What I did so far: Removed and reinstalled my Pods via Terminal Removed and reinstalled my packages through Xcode Removed trusted devices from my iPhone Removed trusted devices from my Macbook Added my new iPhone to my Apple Developer account via https://developer.apple.com/account/resources/devices/list Removed my old iPhone Restarted everything at least 5 times I keep getting this error after building, but immediately upon installing: Failed to install the app on the device. Domain: com.apple.dt.CoreDeviceError Code: 3002 User Info: { DVTErrorCreationDateKey = "2023-10-16 11:47:42 +0000"; IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker; NSURL = "file:///Users/jorritgernaat/Library/Developer/Xcode/DerivedData/WalkApp-fukevcszpwufbzavuluhlbvhsaaa/Build/Products/Debug-iphoneos/WalkApp.app/"; } -- Paaltjesroutes moet worden bijgewerkt Domain: IXUserPresentableErrorDomain Code: 17 Failure Reason: Deze app moet door de ontwikkelaar worden bijgewerkt om te kunnen werken met deze iOS-versie. Recovery Suggestion: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.UleUN5/extracted/WalkApp.app/Frameworks/FirebaseFirestore.framework : 0xe8008029 (The code signature version is no longer supported.) -- Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.UleUN5/extracted/WalkApp.app/Frameworks/FirebaseFirestore.framework : 0xe8008029 (The code signature version is no longer supported.) Domain: MIInstallerErrorDomain Code: 13 User Info: { FunctionName = "+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]"; LegacyErrorString = ApplicationVerificationFailed; LibMISErrorNumber = "-402620375"; SourceFileLine = 78; } -- Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : { "device_isCoreDevice" = 1; "device_model" = "iPhone15,4"; "device_osBuild" = "17.0.3 (21A360)"; "device_platform" = "com.apple.platform.iphoneos"; "dvt_coredevice_version" = "348.1"; "dvt_mobiledevice_version" = "1643.2.4"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 1864; "operation_errorCode" = 17; "operation_errorDomain" = "com.apple.dt.CoreDeviceError.3002.IXUserPresentableErrorDomain"; "operation_errorWorker" = IDEInstallCoreDeviceWorker; "operation_name" = IDERunOperationWorkerGroup; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_checker_tpc_enable" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 0; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 99; "param_launcher_substyle" = 8192; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_structuredConsoleMode" = 1; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos17.0"; "sdk_osVersion" = "17.0"; "sdk_variant" = iphoneos; } -- System Information macOS Version 14.0 (Build 23A344) Xcode 15.0 (22265) (Build 15A240d) Timestamp: 2023-10-16T13:47:42+02:00``` It seems to somehow involve Firebase, but that can also be because that's simply the only 3rd party stuff I use. Help me get back to writing code and shipping app updates :)
8
0
19k
Oct ’23