One of my app was rejected in iTunes connect and it's getting close to 4 months(120 days) app upload limit.
Would Apple delete the app name as per its guidelines of 120 days?
Even though we have delivered a binary, we have not delivered an approved one. It would take a week to make the changes to ensure that it gets approved but we got only 2 days remaining out of 120 days grace period.
So, should we upload a binary immediately and get it approved(it takes few days minimum and we have no control) before expiry date or having been rejected already makes the "app name expiry" clock stop?
Note: You may never know what is the reason of app being rejected and the delay of 120 day period unless you are involved. Anyways, Please kindly stick to my question and try to answer directly as to the procedures of app store as you know.
The question is "My app would expire in 2 days and we already have an app uploaded thats rejected. Does it mean we still can keep the app name after 2 days which would be 120th day of our app name expiry date because our app was already processed and rejected or is the 120 day time period for having the app approved for version 1.0, NOT uploading the app binary ALONE?"
Related
My server received a INTERACTIVE_RENEWAL notification for a (unsupported) 6 month subscription from the iOS App Store just 10 minutes after it received INITIAL_BUY notification for a 3 months subscription.
How should I handle this?
The long story:
A month ago I have released a new version of my app introducing auto renewing subscriptions. I have created different subscription products, e.g.
com.my.app.subscripton.3months
com.my.app.subscripton.6months
com.my.app.subscripton.12months
The final version of the app which was released to the store only offers the 3 months and 12 months subscriptions. The 6 months subscription ID still exists in code but there is no UI element to purchases this subscription (double checked!)
My server now received the following App Store Update Notification messages within 10 minutes:
02:00 - INITIAL_BUY of product com.my.app.subscripton.3months. Expires on 2020-01-28 02:00:00
02:10 - INTERACTIVE_RENEWAL of product com.my.app.subscripton.6months. Expires on 2020-04-28 02:10:00
How should I handle this? Obviously it makes no sense, that a 3 month subscription is renewed after 10 Minutes...
According to the docs an INTERACTIVE_RENEWAL means:
Indicates the customer renewed a subscription interactively, either by using your app’s interface, or on the App Store in account settings. Make service available immediately.
Since the apps UI does not provide an option to purchase the 6 months subscription this has to be done by the account settings. But where do I find a purchase feature in the account settings?
Even if such a feature exists somewhere in the settings, how can a 3 month subscription renew with 6 months just after 10 minutes?
EDIT: The information from the notification is correct. I re-validated the receipt and the store replied with the latest receipt information which includes to IAP items (3 and 6 months subscriptions) purchased within 10 minutes.
So the information is correct but makes obviously no sense...
In the App Store subscription management page users will be able to see all of the product options for the Subscription Group that they're subscribed to (see image).
It's not uncommon for more savy iOS users to navigate to this page shortly after purchasing a subscription to see if there is a lower priced option available.
As far as handling these events, what you you trying to do exactly? All you really need to determine if someone is subscribed is the product_id and expiration_date. If possible you can log the entire event body somewhere (in case you need it later) then update your user record with whatever values you need from the event. These may be:
Access level (most apps have one access level e.g. "premium")
Product Id
Expiration date
Auto-renew status
With this setup the actual event type becomes irrelevant, you're just updating the fields you need with the values from the latest event.
It's Apphud again. We are using Apple Notifications just to trigger additional receipt validation.
How to handle in your case? Make receipt validation and check whether subscription is active.
These notifications only tell you that something has changed in user's receipt. You have to check manually what has changed and update user subscription status after receipt validation complete.
Here is more info about notifications: https://blog.apphud.com/subscriptions-notifications/
I have an app, A small app with 4-5 screens, I remember appstore usually takes 1-2 days.
So my question is if i have another app that haves 80 screens, Is the time to be approve is the same or it will take more time ?
First of all App Store usually approves application in 24 hours as per new rules. So all applications with average features will get approval.
Here is an official statement from Apple Team :
On average, 50% of apps are reviewed in 24 hours and over 90% are
reviewed in 48 hours. If your submission is incomplete, review times
may be further delayed or your app may be rejected. Once your app has
been reviewed, its status will be updated and you will be notified.
So the App Store approval time will not vary according to the number of screens application have. But It can be on basis of complexity of features application have. On basis of that it can take time.
I have seen so many apps having 20-30 screens get approval in 24 hours & on the other side some of the applications have hardly 4-5 screens but have some lengthy advance features which needs more detailed review time takes more time.
But still as apple team mentioned in the official statement maximum time in the 90% cases is 48 hours only. So within 2 days they will approve your application even if it has more screens.
Hope this helps to everyone.
For a brand new iOS app, with the following pre-conditions:
Availability Date is far in the future
App is approved and Ready For Sale
How can one immediately (not even wait for midnight) release the app on-demand without waiting for a future availability date?
I found a few articles relating to this.
Use iTunes Connect to set a date when the app is available on the
store. For example, you can choose a date that immediately releases
the app to the store after it’s approved, or you can set a later date.
Using a later availability date allows you to arrange other marketing
activities around the launch of your app.
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/UsingiTunesConnect/UsingiTunesConnect.html
You can change your app’s availability at any time, removing it from
sale or replacing it in the store. If you move your app’s availability
to a time in the future, your app is removed from the store until the
new date. It may take up to 24 hours to refresh your app’s
availability in stores in all territories.
Before an app is approved, you may want to set the app’s availability
date to an arbitrary date in the future. When the app is approved by
Apple, you can decide more precisely when you want the app to appear
on the store.
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ChangingAppStatus.html
To me the first statement suggests that if you set the release date in the past it will "immediately" release the app. - I found a similar post also stating the same thing: https://stackoverflow.com/a/7352542/2982796
What I have found it still takes 10 minutes for the application to show up on the direct link, then anywhere up to 24 hours to be searchable from within the app store.
From personal experience, I always set the release date to the date that I submitted it to the app store. This way as soon as its processed its released for sale. If the app is already approved and you had it originally set for a future date. Take the current date and time. It should release within a few minutes.
A college of mine has implemented iOS in-app purchasing on a auto-renewing monthly basis. I am taking over the code base and want to test it is working. I know the purchasing is wokring but the auto-renewing is what I am worried about.
I have set up a test user and read the Apple documentation that says in sandbox mode, a month is 5 minutes in the sandbox.
However I am not getting any post back from Apple after 5 minutes? should I?
In the AppDelegate I have
inAppPurchase = [TFInAppPurchase new];
[[SKPaymentQueue defaultQueue] addTransactionObserver:inAppPurchase];
[inAppPurchase updateAvailableProductsCache];
I am expecting after 5 minutes, it to fire of a notification or something?
In the iTunes development guide, there's list of how long auto-renew subscriptions last in sandbox mode:
Sandbox Testing Your In-App Purchases
You are required to test your in-app purchases in a sandbox environment before you submit them for
review by Apple. You must first sign out of your iTunes Store account
from your test device Settings before attempting to use the sandbox
environment. If you mistakenly use your test-user-account credentials
to log in to a production environment on your test device (instead of
in to your test environment), your account credentials become invalid
and cannot be used as a test account again. For more details on how to
avoid mistakes during test account use, see “Using Test User
Accounts.”
When testing auto-renewable in-app purchase subscriptions in the
sandbox environment, the duration times will be compressed to allow
for more streamlined testing. Additionally, a sandbox subscription
will only auto-renew a maximum of 6 times. After the subscription has
auto-renewed 6 times, it will no longer renew in the sandbox. The
compressed duration times are as follows:
Actual duration Sandbox duration
1 week 3 minutes
1 month 5 minutes
2 months 10 minutes
3 months 15 minutes
6 months 30 minutes
1 year 1 hour
There is no notification. You keep track of it yourself (the duration). You get a receipt with the original transaction that you save. Use this to verify (perhaps on launch each time) that the user's subscription is still active.
No notification will be generated by apple.
You have to save the recipes on server or device by using nsuserdefaults or keychain.
you have to track the duration by yourself.By caluclating
Compare the product identifier in question to the product identifier of each in-app purchase receipt.
If there is a receipt that matches, validation succeeds. Otherwise, validation fails.
When validation succeeds, your application enables the purchased functionality—for example, by downloading content or adding features. When validation fails, your application simply does not enable the functionality.
What happens if I submit an app and then (for example after 3 days) when the app is in state "Waiting for review", I reject the binary and I submit a new update? The approval time is influenced and restart or not? Example: if the approval time is 7 days and I reject-resubmit after 3 days, I have to wait for 7 days more to see my app approved or just 4 ?
Thanks
As Josh suggested, and I can confirm, if you update and resubmit, your position in the review queue is forfeit and your app will reenter the queue at the end - so you can expect to wait the typical 7 or so days for review.
Whether or not you wish to do this is a matter of your own discretion, but to my thinking would be based on how critical the error is. Better to wait and deliver a seamless product to users than deliver something with significant bugs that will put potential users off once-and-for-all (my opinion).
I don't know for sure, but my guess based on knowing how Apple is with these kinds of things would be that you must wait another full 7 days. You could always just release the new binary as an update as soon as your app is accepted. Unless of course, there is some major problem with it, but in that case, it probably won't get accepted anyway. Sorry :/
Irrespective of the state of submission of an app, if you reject your submitted binary before approval, your new submission will ALWAYS be reset and everything starts all over again. Now, to jump the queue there is an option to expedite the review process by sending a request to apple via this link