* feat: have testing apps take RevenueCat API key and Proxy URL from local.xcconfig file
* fix wording mistakes in `Local.xcconfig.SAMPLE`
* chore: include `ConfigItem.swift` file in `verify_no_included_apikeys` check
* fix more mistakes in comments
## More project structure cleanup:
- Removes redundant workspace and project files for PurchaseTester
- Cleans up bad references
- Cleans up certificates
- Re-does the process to deploy PurchaseTester, since it was designed to
run from the xcworkspace, which doesn't work anymore.
- adds a `dry-run` option to deploying PurchaseTester and adds a job for
it in the all-tests workflow. It tries building it and archiving but
doesn't actually publish to TestFlight. We didn't really have a test for
this, so it's another thing that could have broken in production.
This PR:
- Updates the bundle name to com.revenuecat.app (a new app in App Store
Connect has been set up.)
- Updates the icon.
- Update the app's Display Name to Revenue Cat.
- Removes unneeded keys for "demos" and "testing".
- Changes how keys are stored/managed locally. I'm not completely happy
with this arrangement, but I think it's an improvement because local
keys are now stored in a separate file which can be marked as
`skip-worktree` or `assume-unchanged` which hides them from the diff to
help you not commit changes in it accidentally (which I have done).
- Adds a file in the pre-commit hook to check for keys in
`LocalConfigItems.swift`
For this to compile in release, and the demos tab to show up, the
changes from [this
PR](https://github.com/RevenueCat/purchases-ios/pull/3885) are needed.
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`):_

I noticed this new warning in the `pre-commit` hook:
> warning: The --path option is deprecated. Pass the path(s) to lint last to the swiftlint command.
This fixes that.
* Add setup_dev fastlane lane
Add fastlane lane for dev setup
Update documentation
Add pre-commit hook script and link it during dev setup
Add SwiftLint to new build phase step in project so people can see issues before commit.
* test
* Fail the pre-commit with friendly message if swiftlint fails
* remove comma from message