in-app In Review error

I submitted app rejection

apple Reply


In-App Purchase - 2.1

We found that your In-App Purchase product(s) exhibited one or more bugs, when reviewed on iPad running iOS 10.1 and iPhone running iOS 10.1.

Specifically, an error message is produced when tapping on the remove ads button. Please refer to the attached screenshot. 


help me

attachment-3545116718573557482Screenshot

Can you post your code around where you have a native.showAlert() that’s showing that message?

Please make sure to format your code either using the:

[lua]... type these tags and paste your code in between...[/lua]

or click on the blue <> button on the edit bar.

Rob

[lua]


– Sets the product list that we wish to use for this platform.


function productData.setProductList( platform )

– Set up the product list for this platform

if ( platform == “Android” ) then

   currentProductList = googleProductList

elseif ( platform == “iPhone OS” ) then

currentProductList = appleProductList

elseif ( platform == “simulator” ) then

currentProductList = dummyProductList

else

– Platform doesn’t support IAP

native.showAlert( “Notice”, “In-app purchases are not supported on this system/device.”, { “OK” } )

end

end

[/lua]

Can you print out the value of the variable “platform” just after:

function productData.setProductList( platform )

and let me know the value?

Thanks

Rob

local platform = system.getInfo( "platformName" ) print("platform" .. platform)

we use corona sdk 2906

What was printed?

Rob

we use iPhone, the print is “platform iPhone OS”.

but we dont have iPad ios 10.1, so we dont know whats wrong with it

iPad’s return “iPhone OS” as well. Basically anything running iOS will return “iPhone OS”, however on iOS 10, if you’re not running a later daily build, it could return “iOS”, but you seem to be getting the right value.

What OS is your test device running?

What version of Corona SDK are you using?

Rob

Our device is iPhone 6s plus 10.1, and use corona SDK 2984.

apple also send “Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.”

According to your code, the only way that native.showAlert() is going to trigger is if the value of the variable “platform” does not match “Android”, “iPhone OS” or “simulator”. You say that it’s printing “iPhone OS” so you in theory should not get the alert. Humor me and change this line:

native.showAlert( "Notice", "In-app purchases are not supported on this system/device.", { "OK" } )

to:

native.showAlert( "Notice!!!", "In-app purchases are not supported on this device.", { "OK" } )

It’s just enough of a change to see if the alert in your screen shot is your’s or if it’s being generated by the system.

Now for the IPv6 issue… This is a generic message that Apple sends out every time an app crashes or doesn’t work when it starts up. They are assuming you’re using networking and that networking is only working over IPv4. You can always ask them for the console log to see what the real cause of your crash was.

Rob

attachment-3545116718573557482Screenshot

Can you post your code around where you have a native.showAlert() that’s showing that message?

Please make sure to format your code either using the:

[lua]... type these tags and paste your code in between...[/lua]

or click on the blue <> button on the edit bar.

Rob

[lua]


– Sets the product list that we wish to use for this platform.


function productData.setProductList( platform )

– Set up the product list for this platform

if ( platform == “Android” ) then

   currentProductList = googleProductList

elseif ( platform == “iPhone OS” ) then

currentProductList = appleProductList

elseif ( platform == “simulator” ) then

currentProductList = dummyProductList

else

– Platform doesn’t support IAP

native.showAlert( “Notice”, “In-app purchases are not supported on this system/device.”, { “OK” } )

end

end

[/lua]

Can you print out the value of the variable “platform” just after:

function productData.setProductList( platform )

and let me know the value?

Thanks

Rob

local platform = system.getInfo( "platformName" ) print("platform" .. platform)

we use corona sdk 2906

What was printed?

Rob

we use iPhone, the print is “platform iPhone OS”.

but we dont have iPad ios 10.1, so we dont know whats wrong with it

iPad’s return “iPhone OS” as well. Basically anything running iOS will return “iPhone OS”, however on iOS 10, if you’re not running a later daily build, it could return “iOS”, but you seem to be getting the right value.

What OS is your test device running?

What version of Corona SDK are you using?

Rob

Our device is iPhone 6s plus 10.1, and use corona SDK 2984.

apple also send “Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.”