tcldr / Entwine

Testing tools and utilities for Apple's Combine framework.
MIT License
445 stars 26 forks source link

Entwine doesn't appear to be happy with Xcode 11.2/Swift 5.1 #14

Closed heckj closed 4 years ago

heckj commented 5 years ago

I just updated Xcode to the 11.2 release, and while I suspect you already know, it seems there's some quirks that make Entwine a little less effective. Tests that passed previously are exploding now - I'm getting an EXC_BAD_ACCESS on TestablePublisherSubscription - I wasn't sure how to capture the information to best share, so I grabbed a screenshot Xcode dropping into the debugger. I'll poke a bit more, as maybe it's something stupid I've done - but I suspect it's in the queue'd side effects of Xcode 11.2 release

Screen Shot 2019-11-02 at 11 52 41 AM
heckj commented 5 years ago

(this is with the master branch on github.com/heckj/swiftui-notes - the one test where I'm using Entwine is blowing up - EntwineTestExampleTests)

tcldr commented 5 years ago

Hi @heckj!

Yes, this is a nasty one. It’s a swift PM bug (SR-11564). It must be affecting most projects which make use of SPM – but there’s a workaround.

More here: https://bugs.swift.org/plugins/servlet/mobile#issue/SR-11564

I’ll leave this open until we get a fix from Apple so anyone else who might be troubleshooting this issue has a reference.

tcldr commented 5 years ago

Maybe helpful to say the workaround is to set ‘DEAD_CODE_STRIPPING = NO’ in your project build settings until we get a fix for SR-11564.

heckj commented 5 years ago

Thanks @tcldr - that definitely helped for the workaround! I appreciate the detail, since I'd seen some twitter conversations, but hadn't worked back to SR-11564

tcldr commented 4 years ago

This should now be resolved with Xcode 11.3; dead code stripping can be re-enabled!