Hi,
I tried, to the best of my ability, not open this discussion, as something tells me it's not related to TCA 
In the second item of the 0.1.3 release notes, it says that:
Changed: ComposableArchitecture is no longer an explicitly dynamic library. This unfortunately means you will need to reintegrate the library into your application. You can reintegrate by removing and re-adding the library to your application or shared framework target. If you included ComposableArchitecture in more than one shared framework targets you will need to consolidate the static library dependency in a single shared framework target per Apple's recommendation.
Now, how do I properly use TCA in a Test target?
From my understanding, I created a Shared framework, and then added TCA to Dependencies and Link Binary With Libraries:
- Shared.framework
> ComposableArchitecture
Then, in a Feature target framework, I added the Shared framework to Dependencies, Link Binary With Libraries and Embed Frameworks.
- Feature
> Shared
Everything seems to be working as expected, however, when including the Shared framework to a FeatureTests target:
- FeatureTests
> Shared
I start getting lots of these, when compiling for testing:
Undefined symbols for architecture x86_64:
"ComposableArchitecture.Effect.init(value: A) -> ComposableArchitecture.Effect<A, B>", referenced from:
SignInTests.SignInTests.setUpWithError() throws -> () in SignInTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Now, if I remove Shared, from the FeatureTests, and instead add the ComposableArchitecture to Dependencies and Link Binary With Libraries:
- FeatureTests
> ComposableArchitecture
It now seems to be working fine. I'm not sure I understand why this is happening. Shouldn't I be able to use Shared? It's expected, right?
What's more interesting is, if I now remove the ComposableArchitecture again from the FeatureTests target, and re-add the Shared framework, things will unexpectedly work as it would be... initially expected. (btw, I do clean Derived Data and test individual components with clean:true in fastlane) ..this is absolutly bananas.
I've been at it last night for a couple of hours, and today again with a "fresh focus" and still feel things are off. This is a project with 14 targets so far, 28 with tests, plus some...
I'm finally able to use TCA for testing (so far), but the workflow to get there? I need to include TCA to my Tests targets, remove it, and re-add the Sharedframework. I must be doing something wrong here!
I had no idea SPM was this fragile. Maybe it's me? Does anyone spot something that I'm doing incorrectly here?
Thank you