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?
Post
Replies
Boosts
Views
Activity
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 :)