-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Conversation
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
@googlebot I fixed it. |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
You're totally right! I forgot that case 😅 I will copy the source files, remove the sym-links, test it again with my app and push everything again. Thanks for the hint ✌🏼 |
I also removed now a lot of unnecessary iOS interfaces. So thanks @stuartmorgan for making me aware again :) |
As mentioned I removed now iOS specific apis & interfaces on the dart and objective-c side. I also removed the tests that depends on iOS. It works now like before and I tested it locally. I would be grateful if you can review it. Thanks :) |
This is not at all what I was suggesting. Apologies for not being clearer; I assumed from your PR description that you had read the discussion in the other PR, in particular #2708 (comment) We do not want to maintain two copies of this code. Having macOS and iOS share a package and implementation—under a new name—is the approach we would accept within this repository. |
You're totally right. Sorry, I didn't read the history of the other PR fully 😄. But that sounds great :)! That would be more clean and I also wouldn't maintain duplicate codebases. I'll do that tomorrow and thank you so much for clearing this up :). One question to the comment you've linked: How am I going to "export" like it's explained here:
|
Can you elaborate on what the question is? I'm not sure what specifically the issue you're encountering is. |
I mean like here in the main |
I mean the Dart keyword |
Since this is marked as a draft and hasn't been touched in a few months I'm going to close it to clean out our review queue. Please don't hesitate to submit a new PR if you decide to revisit this. Thanks! If you (or someone else) decides to revisit this, based on recent experience with moving plugin implementations the best way to proceed would be:
That avoids the problem of having a giant set of file copies, which makes review extremely difficult and destroys git blame. |
At first: Many thanks goes out to the every Flutter Dev and the Flutter Team for all plugins that exists. They help me as a professional Software Engineer in Germany to release for all desired platforms for our customers. So thank you guys ❤️ and don't forget to take a break!
I encountered that macOS Support doesn't exist yet for in_app_purchase plugin. Then I followed a drafted PR here and saw a lot of things that were forgotten and furthermore that PR was already outdated on the codebase.
I did some research and catched the SwiftyStoreKit plugin at the first step. After that I saw that these are not necessary at all and the existing iOS implementation is a perfect fit here to just add symbolic links to them and prepare the codebase in objective-c for macOS platforms.
Some interfaces should be hidden for macOS and are just iOS specific (IPHONEOS), so that helped for the macOS implementation to just function like it should on macOS Desktops.
While migrating the existing iOS Code I encountered also that some implementations to interfaces where forgotten to check on the iOS 14 respectively iOS 13.4.
The most important checks were here:
- (void)presentCodeRedemptionSheet
and
- (void)showPriceConsentIfNeeded
After migrating the codebase in Dart, Objective-C and the Tests, everything worked like a charm.
Here's an example from a production app in Debug:
Screenshots
Buy
Check Purchase
Completion
Backend Apple Handler
Related Issues
Additional important notes
Test results:
Build (pub run build)
Pre-launch Checklist
dart format
.)[shared_preferences]
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.