Karan Shah's Avatar

Karan Shah

@karanshah

iOS & visionOS Tech Lead at Webex | Previously Nike | Art of Programming | Coffee | Beer | Travel πŸ“Portland, OR 🌲

509
Followers
284
Following
18
Posts
13.07.2023
Joined
Posts Following

Latest posts by Karan Shah @karanshah

let config = ConfigReader(providers: [
    EnvironmentVariablesProvider(),
    try await JSONProvider(filePath: "/etc/config.json")
])
let httpTimeout = config.int(forKey: "http.timeout", default: 60)
print(httpTimeout) // prints 15

let config = ConfigReader(providers: [ EnvironmentVariablesProvider(), try await JSONProvider(filePath: "/etc/config.json") ]) let httpTimeout = config.int(forKey: "http.timeout", default: 60) print(httpTimeout) // prints 15

Introducing Swift Configuration, a new way to share and manage configuration for Swift. It's a smarter way to keep secrets safe and separate develop/test/prod environments. More here: forums.swift.org/t/introducin...

25.09.2025 18:46 πŸ‘ 69 πŸ” 19 πŸ’¬ 0 πŸ“Œ 2
Post image

It takes only these few lines of code to immediately unlock CloudKit synchronization to our local-only reminders app. It just worksβ„’, and it's only the tip of the iceberg.

Check it out for yourself!
πŸ‘‰ github.com/pointfreeco/...

05.08.2025 15:28 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1

Also X in Xcode is Roman number ten, so it is pronounced Ten-code ;)

10.07.2025 02:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Watch Haptic Trailer - AppleΒ TV+

It’s cool how Apple made this F1 trailer with haptic feedback! Watch it on your iPhone if you haven’t seen it yet:

tv.apple.com/pl/clip/hapt...

23.06.2025 13:23 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

You can use β€œ#if compiler(>=6.2)” as an alternative. That checks if the Xcode has Swift 6.2 which works with any Xcode version. So:

#if compiler(>=6.2)
some new iOS 26 api
#else
Fallback if needed
#endif

21.06.2025 21:52 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

SwiftUI group lab:
1. Lean into @Observable. Architecture should remain testable and modular.
2. Fine-grained invalidation from @Observable is great. Don’t hold one big structβ€”prefer small pieces of data.

13.06.2025 13:54 πŸ‘ 5 πŸ” 3 πŸ’¬ 3 πŸ“Œ 0

AppIntents are now compatible with Swift Package Manager! πŸŽ‰
#wwdc #wwdc25 #xcode26

12.06.2025 22:14 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Oh cool! All the #wwdc session videos are live. No need to wait for the daily drop this year. πŸ‘¨β€πŸ’»

09.06.2025 21:27 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 1
Preview
Adopting Liquid Glass | Apple Developer Documentation Find out how to bring the new material to your app.

Adopting Liquid Glass design developer.apple.com/documentatio...
#wwdc

09.06.2025 19:37 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Lots of great Swift content coming soon, starting with What's New in Swift with @hborla.bsky.social and @tshortli.bsky.social

developer.apple.com/videos/play/...

#swift #swiftlang #wwdc

09.06.2025 19:35 πŸ‘ 26 πŸ” 12 πŸ’¬ 1 πŸ“Œ 0
Preview
Explore concurrency in SwiftUI - WWDC25 - Videos - Apple Developer Discover how SwiftUI leverages Swift concurrency to build safe and responsive apps. Explore how SwiftUI uses the main actor by default...

πŸ‘€ developer.apple.com/videos/play/...

09.06.2025 19:29 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

New UI Test Recording experience in Xcode 26 #wwdc

09.06.2025 19:30 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

New Compilation caching for Swift and C family languages #wwdc

09.06.2025 19:29 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Wow, everything from iPhone 11 up still supported, + both newer SE's 😳 only XR & XS are dropped

iPad -> only 7th gen plain iPad dropped

Mac -> drops a few Macs, but I think a few Intel ones stay

watchOS -> all previous still supported

This is actually pretty impressive too πŸ‘€ #wwdc25

09.06.2025 18:44 πŸ‘ 8 πŸ” 3 πŸ’¬ 2 πŸ“Œ 0
Post image

iPadOS 26 updates #wwdc

09.06.2025 18:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

visionOS 26 updates #wwdc

09.06.2025 18:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Widgets just replaced half of the visionOS App Store πŸ™ƒ

09.06.2025 18:08 πŸ‘ 8 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0
Post image

macOS 26 Tahoe updates #wwdc

09.06.2025 18:07 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

iOS 26 updates #wwdc

09.06.2025 17:42 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image

Live translation via Call Translation API looks helpful

09.06.2025 17:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Digging the new context menu design #wwdc

09.06.2025 17:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Unified version numbers #wwdc

09.06.2025 17:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
WWDC25 Join the worldwide developer community online for a week of technology and creativity.

developer.apple.com/wwdc25/

20.05.2025 15:16 πŸ‘ 7 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Screenshot of the Accessibility Nutrition Label. It shows accessibility features that the app supports, like VoiceOver, Sufficient Contrast, Captions and Reduce Motion

Screenshot of the Accessibility Nutrition Label. It shows accessibility features that the app supports, like VoiceOver, Sufficient Contrast, Captions and Reduce Motion

Accessibility Nutrition Labels come to the App Store! 😱

#a11y

www.apple.com/newsroom/202...

13.05.2025 12:28 πŸ‘ 40 πŸ” 9 πŸ’¬ 2 πŸ“Œ 5
Post image

πŸ” Apple recently released a full tutorial on how to Profile Apps using Instruments, and it is an invaluable resource for those of you who are interested and don't know where to start!

developer.apple.com/tutorials/in...

27.03.2025 11:00 πŸ‘ 9 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
WWDC25 Join the worldwide developer community online for a week of technology and creativity.

WWDC 2025 will be June 9-13, 2025 developer.apple.com/wwdc25/

25.03.2025 17:49 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

As part of the @vapor.codes Vapor 5 work I've just finished migrating all the tests (all 517) to Swift Testing. So much nicer to write, easier to reason about and as an added bonus the test suite takes 13s instead of the minute before because they're parallel by default πŸŽ‰

23.02.2025 22:01 πŸ‘ 34 πŸ” 6 πŸ’¬ 1 πŸ“Œ 0

πŸ‘‹ from the Swift team, now on Bluesky!

21.02.2025 17:46 πŸ‘ 567 πŸ” 110 πŸ’¬ 32 πŸ“Œ 20
Video thumbnail

OpenAI has launched the beta version of a new featureβ€”Tasks. This feature allows users to schedule future actions and reminders, whether they are one-time reminders or recurring actions. Just tell ChatGPT what you need and when you need it, and it will automatically take care of it.

15.01.2025 02:16 πŸ‘ 8 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0

Lately I’ve been using ChatGPT and Claude to bounce ideas and help figure it out. Sometimes it works and sometimes it leaves me more confused but it’s a decent rubber duck to help out in these situations.

04.12.2024 05:31 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0