* Introduce PurchaseParams to allow passing extra configuration info when making a purchase
* simplify naming
* fallback to old method when flag is not enabled
* Add $(inherited) to the test targets so they pick up compiler flags from Local.xcconfig
* Include product/package inside PurchaseParams
* fix tests
* add compiler flag check
* update purchase tester
* fix docs
* add tests
* Update Sources/Networking/Operations/PostReceiptDataOperation.swift
Co-authored-by: Toni Rico <toni.rico.diez@revenuecat.com>
---------
Co-authored-by: Toni Rico <toni.rico.diez@revenuecat.com>
This will help test observer mode, mimicking how an app might use
`RevenueCat` with observer mode.
When that setting is enabled, 2 new buttons will appear:

The implementation isn't the most maintainable, but we don't really need
it to be. I favored simplicity instead of over-complicating the
implementation. It's not meant to be a canonical example of the correct
way to purchase with StoreKit, just a quick way of testing this
behavior.
I added this in order to debug #2132.
### Changes:
- Extracted `Core` framework to be used by both apps
- Added new `watchOS` target
- Changed `fastlane match` to also create profiles for this new target
- Added a simple view in the watch app that displays a text if an
entitlement is active, or a `restore` purchases button otherwise
This is just a starting point, we can add more to it in the future.
#### Note:
_Unfortunately I haven't been able to test this because of an Apple bug
(`FB11873951`):_

* Initial commit of new SwiftUI Purchase Tester
* Mover to Test/TestingApps/PurchaseTesterSwiftUI and updated deprecated attribution stuff
* Undoing things here because whoops
* Updates from PR