Well, you are right. Its based on the IAP example, so the warning is actually in the code:
if (not validProducts) or (#validProducts \<= 0) then -- There are no products to purchase. This indicates that in-app purchasing is not supported. local noProductsLabel = display.newText( "Sorry!\nIn-App purchases is not supported on this device.", display.contentWidth / 2, display.contentHeight / 3, display.contentWidth / 2, 0, native.systemFont, 16) noProductsLabel:setTextColor(0, 0, 0) showStoreNotAvailableWarning() else (even more code) and: function showStoreNotAvailableWarning() if isSimulator then native.showAlert("Notice", "In-app purchases is not supported by the Corona Simulator.", { "OK" } ) else native.showAlert("Notice", "In-app purchases is not supported on this device.", { "OK" } ) end end
The strange thing is that it works in IOS sandbox mode, but not in the live app… It looks like the products list is empty for the live one.
The sandbox app still works and all products have been approved, so I don´t know why they don´t load on the live app:
function loadProductsCallback( event ) if testingproduct then -- io.flush() -- remove for production end -- save for later use validProducts = event.products --event.products[i].localizedPrice invalidProducts = event.invalidProducts addProductFields() end