Turns out this was fixed by simply marking the completion block @Sendable.
https://developer.apple.com/forums/thread/764874?answerId=810243022#810243022
Post
Replies
Boosts
Views
Activity
Wow, this was as simple as adding a @Sendable keyword!
I posted about this last month here: https://forums.developer.apple.com/forums/thread/763790
I also submitted a bug report #FB15145734 as I assumed the block was being run on the incorrect thread which was out of our control.
Happy to have this working now, but I do wonder is this still an issue with the function, or simply a Swift 6 compiler issue?
I have attached a sysdiagnose from my iPhone after the crash.
Did you ever figure out how to format the NFC tag?
It seems that Apple have deprecated Xcode Server, hence all the issues and no replies to bug reports.
I've resigned myself to the fact that we must use Xcode cloud now and have my bot tests working their...
Until they start charging, then i'll look for an alternative.
Yes I also noticed it has user login issues.
I've recreated all my bots with 14.2 again but now they fail to checkout with auth failure and after 2 hours i'm on the verge of giving up.
It's funny how all the Xcode Server bug reports i've submitted have all occurred since Xcode Cloud was introduced and none have had a single reply.
Never mind. It seems Xcode had signed me out of my new dev account.
I'm now getting this with Xcode 14.2
It works fine with Xcode 14.1 RC2
Success.
I finally got a build to be accepted.
I set ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO for the watch target.
I don't know how this might affect the actual running of the watch app, as I no longer have an Apple Watch to test it on, but the iOS app is running fine through TestFlight.
I've tried removing the arm64e slice from the /SwiftSupport version after archiving the app, then letting Xcode create a build for the App Store, but exporting it, and both versions seem the same. However after uploading, I still get the error.
I've tried so many builds and none work.
After letting Xcode package to upload, both the /SwiftSupport/watchOS/libswift_Concurrency.dylib and /Payload/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib files contain the same swift version 5.7.1, however the one in /SwiftSupport contains the arm64e slice but the other one doesn't.
I can't get Xcode to export the build without arm64e and I'm not sure if I can just remove it from the .app or whether the signature will then be invalid?
This is getting frustrating now. I've tried adding arm64e as an architecture to my watchOS app, but now get an error that it's an invalid implementation.
Ok, so regardless of me changing the architectures in:
/Products/Applications/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib
as soon as I let Xcode do whatever it does when hitting "Distribute App", it removes the arm64e architecture from the watch app framework, but leaves it in the /SwiftSupport/watchOS/libswift_Concurrency.dylib version.
So they will never match!
Please, how can I fix this?
Nope, tried removing arm64e architecture from /Payload/MY_APP.app/MY_APP_WatchOS.app/libswift_Concurrency.dylib but still get the same error.
/SwiftSupport/watchos/libswift_Concurrency.dylib:
contains: armv7k arm64_32 arm64 arm64e
size: 30594960
/Products/Applications/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib
also contains: armv7k arm64_32 arm64 arm64e
size: 2224144