Thank you for your support. This is now clear. Before I proceed with re testing the issue I have a couple of questions.
Do I have to reactivate my app on the App Store to achieve the production env ? is there a workaround or can I limit its availability by user email or Apple ID or something ? The reason for this is that I want to avoid the risk of actual clients buying and losing their money.
I want to confirm this with you, When I downloaded the app, and the IAP failed, then ran the same app from Xcode into the device, I was able to detect the issue, but I wanted to confirm, is that attempt considered in production env or not ?
If I reactivated the app, is it enough just to use my device for testing, I would like to avoid asking other people to spend money, but if its better, I am sure I can work something out with a friend or two :)
Post
Replies
Boosts
Views
Activity
Dear Rick,
Thank you for your support and the time taken to view my question. I believe I did not clarify the issue enough as I understood from your reply. The issue is not with the validation part where I would use the prod or sand URL, the issue comes in the first part where the "appStoreReceiptURL = Bundle.main.appStoreReceiptURL" and "FileManager.default.fileExists(atPath: appStoreReceiptURL.path)" are evaluated. The part you mentioned about the verification URL is called here
var request = URLRequest(url: URL(string: verificationUrl)!)
which is inside the code block, and the block is never reached in product.
As far as I understand the "Bundle.main.appStoreReceiptURL" should be present on the device immediately after the user downloads the app from the store. And in my case it wasn't so the whole logic was just ignored, the process did not enter this code block at all in production environment. But entered normally in sandbox environment.
When faced with that issue I created an else at the end of this code block to catch if the
if let appStoreReceiptURL = Bundle.main.appStoreReceiptURL, FileManager.default.fileExists(atPath: appStoreReceiptURL.path) {
block passed or not and if not (which is the case in production) I printed the values of "FileManager.default.fileExists" and "appStoreReceiptURL.path" which yielded false and the url with "sandboxReceipt" at the end.
I apologise for repeating myself but I need to clearly state that the issue is mainly Bundle.main.appStoreReceiptURL not existing on a device in production
If you judge that this should be reported as a bug, please let me know who/where should I report this.
Thank you,
Eslam
Hi All,I managed to find a workaround for the issue!to clarify: I have two issues with subscription pricingPricing section taking too long to load (note that at the end it loads) it takes about 1-2 minutes to load this sectionwhen it is loaded and I click the plus button to add pricing the page automatically reloads and gives me a blank page so I was unable to add any pricingI am using Safari Version 13.1 (15609.1.20.111.8)The solution for issue # 2 is a kind of a hack, when you click on the plus button immediatly got to the browser top where the reload button is and once it starts reloading click stop it will then work.Screen Recording can be found here https://1drv.ms/v/s!AsUerIYW6JpUjMwEHqE94umTzAQGbQ?e=wSGm8Efirst video is for the failed attempt and the second one is for the one where the workaround fixes the issuehope this helps people who have the same issue, I have also contacted feedback assitant and they responded asking for more details and I have shared those details, hopefully they can find the bug and fix it.
I am facing same issue, but I am not getting any errors, I changed my "preferred currency" to USD from my profile page but still not getting any, during one of my trials I managed to get the price section to appear with a "add price" button once I clicked it and a popup appeared to select currency, the whole page just reloaded and went blank 😀 then I went back to the same hanged loader which I am still facing. Can anyone support with this, is there a bug ticket opened with Apple ? I am not familiar with the process here, it is my first app and I trying to make a demo subscription to test it with a sandbox user I made