Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WE NEED *YOU*! #550

Open
9 tasks
Sam-Spencer opened this issue Jun 23, 2020 · 5 comments
Open
9 tasks

WE NEED *YOU*! #550

Sam-Spencer opened this issue Jun 23, 2020 · 5 comments
Labels
area: new technologies implementation of new technologies area: purchase flows purchase processes, efficiency and failures area: receipt-validation validating receipts for customer or purchase verification difficulty: advanced we really need help with this one difficulty: beginner contributions welcome from all difficulty: intermediate this issue is tough, contributions welcome help wanted iOS & iPadOS directly related to iPhone and iPad macOS Catalyst directly related to the Catalyst platform macOS directly related to Mac status: work in progress integration is in progress / being tested type: enhancement

Comments

@Sam-Spencer
Copy link
Collaborator

Hey you, developer! Read this, please!

We need you.

Today at WWDC20, Apple announced an all-new StoreKitTesting framework.

StoreKit testing in Xcode is a local test environment where you test in-app purchases without needing to connect to App Store servers. You set up in-app purchases in a StoreKit configuration file that you add to your Xcode project. Once you enable the configuration file, the test environment uses this local data when your app calls StoreKit APIs.

And, as you can see, there are a lot of issues with SwiftyStoreKit right now. Some of these same issues come up again, and again and again, and again. But, this is our chance to fix many of the currently open issues easily and quickly.

So, again, we need you. Help the SwiftyStoreKit community design, create, write, and run StoreKit Tests.

This will help our community not only grow but flourish! The alternatives to SwiftyStoreKit are, largely, either rolling your own StoreKit solution (blehhh) or capitulating to a closed, third-party paid service. We have a duty to the SwiftyStoreKit community and to the Apple ecosystem writ large to make this library the best it can be.

So please, download the Xcode 12 beta today, and let's work together towards an in-app purchase that "just works" for developers too.


Getting Started

This is a new technology in beta, but it appears that its usage and implementation would drastically improve this library. You can get started by cloning your own fork of SwiftyStoreKit, launching the project and Xcode 12 beta, and writing some new StoreKit Tests!

Issues that will likely benefit from these tests:

@janczakb
Copy link

@Sam-Spencer do you know what time is estimated to fix these problems?

@Sam-Spencer
Copy link
Collaborator Author

@Sam-Spencer do you know what time is estimated to fix these problems?

I just watched the dub dub session on StoreKit Testing. Looks fairly straightforward, but it’s going to be difficult to cover all use cases and to design good tests.

I’d like as much help doing this from the community as possible. The more help the faster these issues get solved.

If you can’t / are unable to help check back here for updates fairly soon!

@janczakb
Copy link

@Sam-Spencer Do you know when the update will appear?

@Sam-Spencer
Copy link
Collaborator Author

Documentation for local receipt verification via the new StoreKitTest APIs was just released. I'm looking over it now. Once that's ready there should be further updates.

@motocodeltd
Copy link
Contributor

@Sam-Spencer would you be interested in making SwiftyStoreKit use a non static api (i.e. deprecate the sharedInstance and allow direct instantiation). Reason I'm asking is that I've added a robust test suite to my app and own app store api wrapper (that internally uses swifty storekit among others) using StoreKitTest and it was really hard to do as there was interference between tests (and between the host app) due to the static singleton. I've had to fork and allow direct instantiation, which works for me (tm). The question is, would you be interested in a PR that allows this, or does this divert too much for your vision for SwiftyStoreKit?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: new technologies implementation of new technologies area: purchase flows purchase processes, efficiency and failures area: receipt-validation validating receipts for customer or purchase verification difficulty: advanced we really need help with this one difficulty: beginner contributions welcome from all difficulty: intermediate this issue is tough, contributions welcome help wanted iOS & iPadOS directly related to iPhone and iPad macOS Catalyst directly related to the Catalyst platform macOS directly related to Mac status: work in progress integration is in progress / being tested type: enhancement
Projects
None yet
Development

No branches or pull requests

3 participants