Store.loadProducts mysteriously stopped working on some iOS devices this morning

Hi guys,

So day of submission and we’re play-testing our iOS game.

IAP has been working fine for days/weeks/months.

Mysteriously, on TWO iPhone 6 devices “store.loadProducts(productIdentifiers, productsListener)” is never calling the productsListener.  It’s just silently failing.  It started happening this morning after weeks without problems.

The /exact/ same build is working on the iPad still. All devices are running iOS 8.2 or 8.3.

I have reset the devices, logged out of itunes in the settings, deleted and re-installed the game many times. iPad always works, iPhones no longer do.  They are all connected to the same wifi.

I am running build 2646.

Is there any way to find out why it’s failing? We only get the callback upon success, with no error messages printed or other callback on failure.

Code

local function productsListener(event) print("store products listener successfully called") tprint(event) -- tprint dumps out all the contents of the table end local productIdentifiers = {"TBSEggsRefill", "TBSEggs250", "TBSEggsCoinsBundle", "TBSCoins2500", "TBSCoins10000", "TBSCoins50000"} print("attempting store.loadProducts") store.loadProducts( productIdentifiers, productsListener )

iPhone 6 (8.2 and 8.3) console output


attempting store.loadProducts


iPad Mini (8.3) console output


attempting store.loadProducts

store products listener successfully called

{

 invalidProducts = {},

 name = “productList”,

 products = { {

     description = “10,000 Coins. Adverts disabled.”,

     localizedPrice = “£2.29”,

     price = 2.29,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSCoins10000”,

     title = “10,000 Coins”

   }, {

     description = “2,500 Coins. Adverts disabled.”,

     localizedPrice = “£0.79”,

     price = 0.79,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSCoins2500”,

     title = “2,500 Coins”

   }, {

     description = “50,000 Coins. Adverts disabled.”,

     localizedPrice = “£3.99”,

     price = 3.99,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSCoins50000”,

     title = “50,000 Coins”

   }, {

     description = “250 Eggs!\nAdverts will be disabled”,

     localizedPrice = “£1.49”,

     price = 1.49,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSEggs250”,

     title = “Eggs 250”

   }, {

     description = “50 Eggs + 1000 coins! Adverts will be disabled”,

     localizedPrice = “£0.79”,

     price = 0.79,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSEggsCoinsBundle”,

     title = “Eggs + Coins Bundle”

   }, {

     description = “100 Eggs!\nAdverts will be disabled.”,

     localizedPrice = “£0.79”,

     price = 0.79,

     priceLocale = “en_GB@currency=GBP”,

     productIdentifier = “TBSEggsRefill”,

     title = “Egg Refill”

   } }

}


Oh, and “store.isActive” and “store.canLoadProducts” both return true across all devices.

Oh, and “store.isActive” and “store.canLoadProducts” both return true across all devices.