iOS, in app purchases - "Waiting for Review" - ios

Quick question, if my in-app purchases are listed on iTunes Connect as "Waiting for Review", should I be able to test them in a sandbox environment? Atm I'm getting an error that no products are available, but I'd like to make sure it's because of that and not an error on my end, just to speed things up. I'm using Unity to build my app and the store is built using their tutorial that can be found here: https://unity3d.com/learn/tutorials/topics/ads-analytics/integrating-unity-iap-your-game . The store does work on Android just fine btw. Thanks!

You should be aware of that if your app uses a brand new IAP but is not reviewed yet, your new release will crash immediately after it launches.
The experience was expensive for me :)
So, first make the IAP got approved. Then publish the build.

Well usually before you submit your app and your IAP too Apple to review everything and accept it you're supposed to have tested all your IAP and taken screenshots of them working.
So yes they should work before they're even sent to be reviewed.
You might want to follow those steps to make sure you've set everything up correctly : Adding In-App Purchase to your Applications

Related

How do in app purchases behave in Pending Developer Release?

I recently finished the first version of an iOS application. I have several in-app purchases within it. When testing these, I always used a physical iPhone. Apple just approved the build for release and the app is now in "Pending Developer Release." As one last sanity check, I generated a promo code for myself on app store connect and downloaded the app onto my phone through the app store. I quickly noticed that the SKProductsRequestDelegate method is never fired and the list of in-app purchases is never downloaded from Apple's IAP server. This is similar behavior to when the app is run within a simulator: the IAP data is never loaded.
I am unfamiliar with how the "Pending Developer Release" stage impacts in-app purchases. Will they work as expected when I release the app to the public? Is there some change I need to make and resubmit?
Any help would be greatly appreciated.
As far as I know, it should work seamlessly except for the charging (You won't be charged if your app is downloaded from outside AppStore). So trying to gather logs may help you in this case.
Turns out this was an issue on Apple's end. I contacted support and something on their end had been messed up when they approved the in-app purchases.

In-App purchases not loading unless I install the app directly from Xcode - RevenueCat

I recently started using RevenueCat for all of my InApp purchases; today my app was approved in the App Store so, I went ahead and downloaded it to try the new version directly from the App Store and I noticed that the In-App purchases are not loading. What is funny is that if I connect my phone to my computer and compile the app directly from Xcode it does show the In-App purchases.
So my question is, is there any setting in RevenueCat that we need to turn on when the app goes into production?
If such of setting does not exist, what would be a good way to troubleshoot the issue to determine where the problem is, if it's RevenueCat, the App Store or my code?
FYI - When I install the app directly from Xcode I can make purchases with a send-box account and everything functions as it should.
There aren't any RevenueCat settings to update when your app goes live. This sounds like a propagation issues with the App Store if these are new products - sometimes they can take ~24hrs to be available in production to all users after being approved.
Unfortunately, doing nothing and waiting is probably the answer here. In the future if you can not show new products to users until >24hrs after they're approved it should prevent this from happening again.

Cannot get my app approved because of error "Can not connect to iTunes"

I read many answers here with similar problems but none helped me to get my app approved. It's been 3 weeks of trial and error. I am totally frustrated of it.
What I am trying to do:
I am submitting my first app (there is no other app with my account created yet).
I have one in-app purchase (nonconsumable) in my app that removes ads and opens all content.
Sounds easy right?
I have been rejected for a few different reasons that has one thing in common - they (Apple testers) cannot successfully perform in-app purchase.
What I did:
Successfully bought and restored in app-purchase with my sandbox user.
At first I was using swifty storekit library. Got refused with "Unknown error. Please contact support" So I ditched this library and Implemented whole code myself, according to apple documentation.
As I read there can be problem with my agreements, tax and banking settings in Itunes connect - found out that there was red line about transfering my account settings (dont remember exact line) - did dissapear after 2 days by itself as I read in some answer here. There is no problem there now.
Did find out that I must wait some time before in-app purchase starts working. I takes about 2 days to in-app purchases start working with testflight user, so waited until it starts to work - then successfully bought in-app purchase and restore also works fine even with testflight testing account. (again got refused)
there is not exactly stated how to submit first in-app purchase ever, it is just said submit with binary. I did not get this at first, found out that I should not send in app purchase by itself, but I should "append" my in app purchase in the same form as I am sending my app. At first I tried to send my in app purchase in its own formular. But then I got rejected with error "We found that while you have submitted in-app purchase products for your app, the in-app purchase functionality is not present in your binary." (I say it again - there must be api there as I can successfully buy app with test account).
read in some other answer that I can ask to get my in app purchase approved, so I write "please approve my in app purchase - they did, but I got refused.
Now I cannot select this in app purchase with my binary, as it is not shown for selection probably because it is already approved. So I did submit app without it and got the "in-app purchase functionality is not present in your binary" error again.
Created new in app purchase, this one can be selected to be submited with app. Got rejected again, with error.
"can not connect to iTunes"
In app-purchase is then switched to "Developer Action Needed". This is probably a good thing as if they would approve it then I could not select it with binary as it would be invisible.
What else should I try? What to change? Where to look? I am totaly lost. 3 weeks of time lost. As I cannot reproduce the problem I cannot solve it. Programing is easy, but to get app approved looks like imposible.
Few of many many visited links:
In App Purchase functionality is not present in your binary
iOS In-App purchase works in development but not in production
https://forums.developer.apple.com/thread/13324
https://www.innofied.com/in-app-purchase-working-ios-solution/
What I did next: recorded video of myself successfully buying in app purchase with my testflight account and uploaded it to youtube, added link to my reply form.
Next try: I sent them this message:
"Good evening,
I am totally out of options. Is there anybody at apple who I can consult this? ... Because, everything is working on my side. As I cannot reproduce your problems I can't make it right.
I have tested it with my sandbox user - it works - I can make a purchase successfully and I can restore it too. I noticed that with testflight it needs some time to start working (about two days). So with this build I waited two days and when it did start working on testflight i submited my app. This is my first submit of app ever, should I do something special? You already approved my first in-app purchase in one of my trials, but I cannot select it to be published with my app as it is already approved (it is not shown, so cannot be selected) and if i dont submit it with my app then I got rejected with confusing error stating that in app purchase api is not included. So I created second in-app purchase - the one submited here which is now after rejection in "Developer Action Needed" as you rejected the app. So what can I do now? Don't you need to wait some time after you approve my in app purchase (submited with the app) to start working? Did you approve my in-app purchase which I submited with my app by the way? Please dont send me link to the documentation. As everything works on my side there is nothing I can find there. Give me some advice or contact to someone who can Investigate what is wrong on your side, as you cannot make it work... thank you in advance"
After rougly one day, status did change (they changed) to "in review", and after another half hour I did get email with "Congratulations! We're pleased to let you know that your app, Juggling, has been approved for the App Store"
So to answer my own question ... how to get through application approval? I don't know. What I did wrong, what should I do? I don't know. Are there real people there or artificial inteligence? I don't know. What exactly was the problem? I don't know. What did finally do a change? I don't know. Hope this answers will help next generations of programmers get their apps approved in the future. (Pun intended)
Thank you

First In-App Purchase

I'm trying to add my first in-app purchase to my iOS application
It's state in iTunesConnect is "Missing Metadat", but the only thing I didn't send is the screenshot for the review (I expect to see "Wiating for screenshot" instead of "missing metadata"). I also specified the localization name of its group
The thing is that in my application, my productIdentifier appears in the invalid products, and I don't know why because it seems for me that everything is fine.
I disconnected my AppStore account, My AppID and my signInProfiles have In-App Purchase checked in the capabilities, XCode does not show any error in the project's settings, I have a sandbox user on iTunesConnect.
I really don't understand what to do to make things working...
Note : A few months earlier, I managed to have an In-app product and I was able to test it on my application in the development state. We didn't submit it to the App Review and I had to delete it from iTunesConnect.
I found the source of my problem
I apologize because I totaly forgot to talk about it, but I work with 3 stagings of my application : Production, Integration (i.e BETA), Development
And to be able to have all 3 of them on my devices, I use extensions in my appIDs for each state :
- com.compagny.app for production
- com.compagny.app.integration for integration
- com.compagny.app.dev for develpment
And it seems that for IAPs YOU HAVE TO keep the exact same appID as it is on iTunesConnect... :/ That was just that...

In-App Purchases what am I missing? [swift]

I'm trying to learn how to implement in-app purchases.
I found this really useful guide LINK which is related to this GitHub project LINK.
The project works by itself I only needed to create a couple of things in order to let it work:
I created a sandbox account for testing (without paying :])
I created a new App in iTunes Connect using my bundle identifier
I created the in-app purchase as requested by the app
I created all the App IDs and Provisioning profile for the App and connected to it
Running the app everything goes smoothly but the only thing (and most important one) it is that the transaction fails.
I have no idea where to look since I think I've everything correctly.
Someone can help me through the process reaching the end?
Thanks
The answer is quite easy and I found it HERE
The In-App Purchases do not work on the simulation a real device must be used!
In fact I used a real device and everything worked smoothly.

Resources