step by step in-app IOS purchase-confused - ios

I have an IOS app in the app store. My plan is to make it free, and create an in-app purchase of a non-consumable product within it.
I have included some, but not all, of the in-app code needed to do this. I have uploaded the resulting builds to iTunes Connect without a problem.
To test the code I have created a test user in the 'sandbox'. I have logged out of my 'real' Apple ID (iCloud etc) in my iPhone and logged into the sandbox account...
and this is the point where I am confused...
When I click on the icon for my app, am I seeing its latest build, or the 'ready for sale' version. Do I have to anything? Is the Sandbox looking at my latest build or at the 'ready for sale' version?
BTW, I'm using Phobegap Build.
Do I have to submit the app for review to Apple before I'm able to see the app in the Sandbox?
If it passes the review, does that then mean it becomes the 'ready for sale' version? If so, how do I develop the code efficiently if I have to resubmit each time? My first submit is going to contain errors... do I have to submit a 'perfect' working version before I continue development (which clearly doesn't make sense!).
As you can see I'm confused. The online help that I've found online is really helpful (especially Stack Overflow... thank you everyone), but 'big-picture' advice is elusive.

Related

How do I test the app with Apple Developer Program?

I am working with a team on a mobile application. Everyone would like to use and have this app on their phones. However when I tried to install this app on phones with Xcode I've reached the limit of 5 devices. I wanted to buy an Apple Developer Program account so that I can send this app to other with the help of TestFlight app. Can someone confirm if I understood the information that I found on Apple website correctly:
I can add testers to the app using the link which will be send to them
They will be able to download and test the app for 90 days
They don't have to have Apple Developer Account? (I am not sure about that)
Since the app will not be published but only uploaded for testing it will not have to go through review process
If someone has better idea how to install application on around 10 devices I will be happy to hear that. If someone has any experience with uploading Flutter app to iOS I will also be happy to hear if there are maybe some tricky parts during this process.
Your test users don't need to be part of your developer team, but they must have an Apple ID in order to download the TestFlight App from the App Store. The email you send the invitation to doesn't have to be their Apple ID.
If the users are not part of your developer program team then your app will need to go through TestFlight review before it is available to them.
The good news is that TestFlight review is not as thorough as release review since Apple understands the app is still under development. The bad news is that TestFlight review typically takes a few days for a new version vs the typical 12 hour review for an App Store release.
Once you have a version approved for testing, it is best if you can release new TestFlight builds within the same app version. New builds do not require a manual review and can be approved for testing automatically.
If you change the version then another manual review is required.
You understand correctly. Most of the tricky parts handled by XCode usually but if you encounter any issues don't hesitate to ask.

Does Using TestFlight With Approved App Trigger New Approval

My app has been approved but is awaiting developer release as I want to release it manually. Before releasing, it however, I want to test using test flight
When I try to send the approved build to my testers, Apple asks for a login id and then gives me a dialog to Submit For Review. Is this just Apple being clumsy with their language or do they actually want to review it again before testing even though it's been approved?
Anyone have any experience with this?
Here is pic of dialog box
My experience is that the Store and TestFlight are two different worlds with two different approval processes — but that the former affects the latter in a peculiar way.
The way the issue you raise has arisen in particular for me is that you release, say, version 1.1 build 26 on the Store, it is ready for sale, and then you proceed with development and upload version 1.1 build 27 to TestFlight. Even though 1.1(26) is being sold already, and even if 1.1(26) was already released on TestFlight, 1.1(27) requires a new approval! In other words, it appears that an App Store release resets the approval clock, as it were, on TestFlight.
That is almost exactly your situation. The approval on the App Store apparently means that your next TestFlight upload needs a new approval. So yes, you will have to wait while it is approved. This usually takes just a couple of days.
Instead of using TestFlight, there is even more simpler method to test the Apple approved build (Pending Developer Release state) before releasing to Store. It is Promo code testing.
You can generate nearly 100 promo codes, if i am not wrong. These promo codes can be shared to the developers so that they can actually test the store build without releasing it to app store.
You can find many articles about Promo codes. I have shared one here.

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

iOS, in app purchases - "Waiting for Review"

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

Waiting for beta App Review on Testflight

I had uploaded my App successfully to TestFlight, 5 days ago(with new version and new build number). Which is already uploaded on App Store (But with its Older version).
Now i have added external user to test it and select the build to test and then click on save button, then it is showing "Waiting for beta App Review".
I don't know why user is not added directly rather app goes into "Waiting for beta App Review", and how much time it will take to approve?
Please help me if anyone has faces such issue.
Once you add another user (ie not your apple id), then it must be reviewed by Apple first to ensure the app is safe (contains no malicious intent) for the users testing it.
Normally takes a couple of days for apple to turn around and approve.
There is a distinction between iTunes Connect users and people in TestFlight.
When you upload build, and it shows up, then it becomes visible to your users. But there is an approval process (presumably automated) before TestFlight users see the announcement (assuming it is approved).

Resources