Jack Morris

@jackmorris
247 Followers
107 Following
121 Posts

iOS engineer at Apple, working on Media UI Frameworks (Apple Music, Apple Podcasts, etc).

Previously at:
⛷️ Carv, a smart ski coach combining in-boot hardware with in-app coaching
🏃 Google, working on Google Fit & Wear OS

📝 Site & Bloghttps://jackmorris.xyz
📍 Currently inLondon 🇬🇧
@dvk You might be able to do something with non-copyable types to assert that the connection is moved out of the Opener - that might trigger the isolation-based analysis. That's all I have on the top of my head, sorry I couldn't be more help!
@dvk Best way to handle this? I _think_ that region-based isolation would silence this, but I was under the impression that had been released (although I'm not following the state of all of the proposals these days). You could silence the warning by wrapping the handle in a Sendable box (however that's just moving the responsibility to verify correctness to you).
@dvk Interesting! Looks like this is a new warning, I didn't have this whilst writing the posts. The reason for the warning is that the non-Sendable ConnectionHandle (aka. an OpaquePointer) is being sent from the isolation of the Opener actor to that of the Connection. It's an over-conservative warning in this case (the handle is not retained within the Opener, so cannot be used from both isolation domains concurrently).
@WTL not currently, good idea though!
@recollir you can import multiple GPX files at once (no limit) - shortcuts is a nice idea, potentially something for the future if I expanded the GPX import functionality
@aleck there's a link near the top of the post, copied here: https://apps.apple.com/gb/app/trailpro-trail-running/id6474039305
‎TrailPro: Trail Running

‎TrailPro is your ultimate trail running analysis app. With a greater focus on ascent, descent, and smart run segmentation to track your performance across both running and walking periods, TrailPro will let you break down and relive your runs like never before. == Features == → Pace-Aware Splits…

App Store

@recollir in terms of wearables, I'd say Apple Watch is definitely the best supported.

No plans to add other data sources right now (other than GPX import which is currently supported). Before this changed into a hobby project I considered talking to the Garmin API directly, however I no longer have capacity for that.

@alpennec ah, for that I just adjusted the safe area of the map by the height of the scroll view with .safeAreaPadding(.bottom, <height>) (on the MapView). The map respects this and shifts up controls & the legal links, however I don't think it handles being adjusted that well as you said (for my use case, it's constant).
@alpennec Not sure if I've answered your question re. map offset but let me know if you'd like more details!

@alpennec

Managing the sheet over the map was a little awkward since I wanted to display the sheet when the map screen was pushed on, then hide it when the map is popped. For sheet position, the UIHostingController containing the sheet is presented, and its UISheetPresentationController has a few detents specified to control its position (so this is just a standard UIKit sheet, not custom).