This page documents issues that are known (or strongly suspected) to exist with recent versions of mySleepButton for iPhone, iPad and iPod Touch. mySleepButton 1.4.3 is the current release. If you have not yet upgraded to the latest version of mySleepButton, please do so.

This document describes work-arounds when they are available. It also mentions the “target milestone”, i.e., the expected release number and date, for each issue.

Please refer to the mySleepButton Release Notes, for information on the current and prior versions of mySleepButton.

mySleepButton claiming Purchased packs  have expired


2017-06-24 10:21 PM

We have determined that this is affecting only a small % of users, likely when there is an error in downloading. It concerns Apple’s App Store queue management. The issue spontaneously resolves. However, we’ve added additional code to deal with such contingencies. We will submit a new version to the App Store once our testing is complete.

2017-06-23 10:45 PM PT

We are currently testing a solution to the issue described below.

2017-06-21. Last updated 2017-06-23 10-46 AM PT.

Several iPhone users have begun telling us that their purchased packs have expired, even after doing a “Restore”. They get this message:

This In-App purchase has already been bought. It will be restored for free.

This obviously should NOT be happening.

This problem has suddenly started happening, without any change to the mySleepButton on App Store. We are investigating whether there is a change on App Store itself or whether there was a latent bug in the app. Fortunately, this is only affecting a small % of our users. This might be triggered by a pack download error from which mySleepButton fails to recover (??).

If you contact us about this issue, please

  • let us know the iOS version
  • let us know which packs you have purchased
  • let us know whether the Gender setting at the top of the Packs screen is stuck on Male. Select a synthetic speech pack, then try to change the gender to female; then select a the Human Voice pack. Has the gender setting remained female? has this helped?
  • provide a screenshot of the mySleepButton Packs page before and after you  “Restore All Purchases” (from the Packs screen)

This is our TOP priority software development task. We are providing almost immediate customer support responses. mySleepButton 1.4.3 has earned a 5-star rating on the App Store. It has a huge number of glowing reviews. We are determined to continue to earn your accolades.

2017-06-23 11-27 AM Update

Well, apparently CogSci Apps are not alone to have encountered this issue. David Green’s Opinion reports “This In-App Purchase Has Aready Been Bought”

This scenario can easily occur when an error occurs before calling SKPaymentQueue.default().finishTransaction(transaction).

Apple has designed the payment queue in such a way as to enable apps to fulfill a purchase before completing – with finishTransaction being the indication that fulfillment is complete. In the case that a failure occurs during fulfillment, the app can recover when SKPaymentQueuecalls the app’s observer again.

This is all good and fine – except many developers  have encountered a situation where this process breaks down. Their SKPaymentTransactionObserver is never called again, and the user is presented with the dreaded “already bought” dialog and no apparent way to fix the problem.

Like many problems in software development, it turns out that the problem is quite simple and completely non-obvious.

Thanks to David Green! We are investigating this hypothesis.