airspeedswift, I wrote up what I hope is a easy-to-follow walkthrough/tutoral for the newly proposed non-copyable generics features on the #swift forums.
https://forums.swift.org/t/noncopyable-generics-in-swift-a-code-walkthrough/70862
yoyokuo, Excited to share a sneak peek of my latest project, TuneTally! 🎶 It's an app designed to help you explore music charts across various streaming platforms, with the added flexibility of selecting different countries. Would love to hear your thoughts – is this something you'd be interested in? 😮 #buildinpublic #swift
SENTINELITE, Welp… I want a new persistence layer for my SwiftUI app!
Part of me hopes SwiftData 2 will be leaps & bounds better, but waiting until June seems sooo far away.
Ideally something using the Observation framework, but I doubt that’s going to end well (for me). Any ideas?
(Read: performance has been a nightmare. It should’ve be this hard.)
ryanslikesocool, just released MoreWindows on GitHub :)
additional Scene types for SwiftUI apps on macOS
davidbures, @ryanslikesocool Let’s gooo macOS SwiftUI content, I can’t believe it
yoyokuo,
CorkApp, Cork version 1.3.5 is out.
This update includes a lot of small improvements, namely a keyboard shortcut for searching packages (available in macOS 14+) and some prep work for the new way of validating licenses.
#swift #swiftUI #macOS #opensource #buildinpublic #macdev #homebrew #CorkApp
ktoso,
davidbures, Update on the Services sub-window in Cork:
It now includes much more information about a service! You can also searh for a specific service using the search field, much like in the main Cork window.
In the release after the next one, the services might be read-only. I'm not sure if I'll have enough time to implement the turning on/off of services, but we'll see!
More info on Cork: https://corkmac.app
#swift #swiftUI #macOS #opensource #buildinpublic #macdev #homebrew #CorkApp
stux, @davidbures Oh, oh, oh! Interesting, thank you! :cat_hug_triangle:
davidbures, @stux Glad you like it :ablobcatwink:
davidbures, I'm cooking…
#swift #swiftUI #macOS #opensource #buildinpublic #macdev #homebrew #CorkApp
james, @davidbures Any guides you used that helped? I need to convert all my API calls.
davidbures, @james I’ve been reading “Practical Swift Concurrency” by @donnywals and it’s been really helpful: https://practicalswiftconcurrency.com
I’d definitely recommend it.
airspeedswift, It’s been great to see the rapid adoption of the Benchmark package across the ecosystem. Read more its features on the #swift blog.
airspeedswift, Experimental support for generic noncopyable types in the #swift standard library is now available in the nightly toolchain.
Here's a simple demonstration of adoption of this feature on the Swift Playdate example project. Switching the Sprite type from an enum+class box to a simpler non-copyable struct drops binary size from 7k to 6k on the SwiftBreak game.
airspeedswift, and yes, it was with a heavy heart that I had to temporarily write a .forEach method
dgoldsmith, @airspeedswift Resistance is useless. You will be assimilated.
phranck, German Fellow #Swift / #SwiftUI and #Realm #MongoDB developers: I need your help.
This is a question I published on the MongoDB forum:
https://www.mongodb.com/community/forums/t/signin-with-apple/271753
And it is a serious topic to us (the company). Do you know how to do #Apple SignIn with one Apple ID on different apps (iOS, macOS) to get the same Realm user?
Please share. Thanks. 🙏
:BoostOK:
ctietze, #Swift package devs, have you all updated your projects to use privacy manifest files for UserDefaults usage, yet?
ctietze, like here for ReSwift:
https://github.com/ReSwift/ReSwift/issues/512
Could need a helping hand who is faster at adding a privacy manifest
CorkApp, Hey guys, there will be some changes to the way Cork licenses are validated, the demo, and maybe the Cork tap in the upcoming releases. Check out the article for more info: https://blog.corkmac.app/p/upcoming-changes-to-the-install-process
#swift #swiftUI #macOS #opensource #buildinpublic #macdev #homebrew #CorkApp
daveaknight, There are times #swift unicode behaviour just gets annoying. The following will end up failing:
let text = “Some\n\nText”
let regex1 = /[\r\n]/
let regex2 = /(\r|\n)/
let slice1 = text.replacing(regex1, with: " ")
let slice2 = text.replacing(regex2, with: " ")
assert(slice1 == slice2)After ~15 mins I remembered \r\n can be a single char. to get (roughly) the behaviour wanted and still using a set it needs \r and \n flipping. So [\n\r] or to cover the single char [\n\r\r\n]
revk, @daveaknight I love that I have, and am old enough to have used before, an ASR33 teletype where CR and LF are very different characters and do something very tangible (and loud) with print head and paper feed.
davidbures, (edited ) I have a question for the Swift pros:
Ahead of Swift 6.0, I want to go on a deep dive on asynchronicity.
I got the basics down pretty well, so I’m looking for something a little more advanced and detailed.
Are there any blogs/posts/articles that you’d recommend?
Thanks!
mattiem, @davidbures Good question about AsyncSequence. Yes, powerful! And getting soooo much better in Swift 6.
Im not a huge fan of using them with NSNotification myself, but it definitely is possible. Do you use Combine now or just callbacks?
Are you sure it is the number of tasks that are the issue and not what the tasks are doing?
davidbures, @mattiem I'm using callbacks at the moment, but would love to ue async streams instead. The rest of my code is async/await, so it feels out of place :blobcatpopcornsweats:
As for the tasks, it's definitely a problem of what's happening inside of them. They spawn a huge shell process that can sometimes take a long time to finish, as well as using a lot of resources. Have a look: https://github.com/buresdv/Cork/blob/54c9ee228f1b01110feea95c33ececa4906719cf/Cork/Views/Installation/Reusables/Search%20Result%20Row.swift#L100
masukomi, (edited ) #Swift Package Manager / #XCode People
I can't resolve known good packages from github. & searching has failed me.
I get 1 of these 2 errors. Unclear why it seems to alternate. API token has FULL access. SSH Key verified (by me and it). HTTP & SSH cloning configs both fail. Wifey can install the same package(s) just fine.
"realm-swift" is irrelevant. it's just a known good package & version to eliminate potential errors related to the package itself.
masukomi, The separate XCode bug we encountered:
I've been doing this a while & have been forced to jump through the 6 hells of GPG signing many times over the years. Consequently, I have my ~/.gitconfig configured Git to auto-sign all of my commits, with my SSH (not GPG) key.I like knowing that all my commits to my public repos can be verified & weren't some malicious BS. You can fake the name & email on a commit trivially.
However, if I make a new XCode project w/ git it does this. 🎉
🧵5/?
masukomi, This isn't actually a problem for me because i never use IDEs to manage git.
So, XCode can't handle GPG signing configured git setups, their error messages are god-awful, and I think they're absolute 🍆's for bundling all their 💩 into their 💩 IDE.
You know who doesn't use XCode at Apple? Everyone‡ who isn't coding in Swift/Obj-C. I'm not kidding. NONE of my coworkers used it. Why? Because there are tons of great IDEs / Editors out there that aren't XCode.
FIN
‡some exceptions apply of course.
masukomi, I've got a mac app that I've been avoiding touching because the last time I tried to sign it was an effing nightmare. But that was years ago.
Today I opened it up to see just how many compliation errors it had, and how much / if they've improved signing for distribution outside of the app store.
I was greeted with this lovely dialog which makes me want to touch it even less.
swiftdevjournal, @masukomi With that amount of code, it would be easier to fix the errors manually than trying to install and run Xcode 10.1 on a Mac running a recent version of macOS.
masukomi, @swiftdevjournal thanks for the confirmation. That was the conclusion I came to too. I know very little about swift, but a lot about code, and most importantly I have a smart wifey, who can help me.
kharrison, Turning on strict concurrency checking doesn't protect you from accidentally blocking the main actor. Something I find way too easy to do as I learn how to use Swift Concurrency #Swift #SwiftUI https://useyourloaf.com/blog/swiftui-tasks-blocking-the-mainactor/
jasonhowlin, @kharrison I would expect that calling sleep within a function marked to run on the main actor (main thread) will block, regardless of the function being marked async. I suppose adding nonisolated removes the MainActor requirement and then runs within the view’s task context.
kharrison, @jasonhowlin the sleep is just a placeholder for the actual code which took several seconds to complete
Diggory, Me thinking about the implications of #Swift v6
rauhul, Hey, I did a thing!
Try out Swift on the Playdate: https://forums.swift.org/t/byte-sized-swift-building-tiny-games-for-the-playdate/70615
matthaliski, Hey iOS and/or Ruby devs,
Does this seem right?
Rspec ➡️ Quick
Shoulda Matchers ➡️ Nimble
Minitest ➡️ XCTestI do a lot of work in Rails, but I'm trying to get the lay of the land for testing in iOS. #swift #ruby #iosprogramming
finestructure, @matthaliski The upcoming replacement for XCTest might be interesting, too: https://swiftpackageindex.com/apple/swift-testing
airspeedswift, Something fun to play with in #Swift from @rauhul
https://www.swift.org/blog/byte-sized-swift-tiny-games-playdate/
phranck, (edited )
tootsdk, A new release of TootSDK - 3.2.0 📣
https://github.com/TootSDK/TootSDK/releases/tag/3.2.0
What's changed:
- Add TootLater to list of apps @mikakruschel
- Adds a way for apps to logout @konstantin
Community contributions are greatly appreciated 🙌