App Store rejected me for the 2nd time / same issue

Simple Gamer ArtsSimple Gamer Arts Member, PRO Posts: 303

I've successfully tested my app on Testflight numerous times; tweaked the hell out of it. Submitted to App Store and they reject me with the following:


We discovered one or more bugs in your app when reviewed on iPad running iOS 11.4.1 on Wi-Fi connected to an IPv6 network.

Specifically, all the buttons in the main screen were unresponsive.

Next Steps

To resolve this issue, please run your app on a device to identify any issues, then revise and resubmit your app for review.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.

Resources

For information about testing your app and preparing it for review, please see Technical Note TN2431: App Testing Guide.

For a networking overview, please review About Networking. For a more specific overview of App Review’s IPv6 requirements, please review the IPv6 and App Review discussion on the Apple Developer Forum.

Please see attached screenshot for details.


I triple checked everything; I have specific codes for Android and for iOS. This is a sample of how I differentiate them and so far they've worked smoothly on Android, iPhone 6 (iOS 9.3.2) and iPad-mini WiFi (iOS 9.3.2) using the gamesalad viewer and as-well, Testflight (iOS devices of course).

The only thing I can think of is that App Store's iPad 11.4.1 is a more advanced device version than what I've tested my app on and perhaps is not compatible? Am I missing something?

Comments

  • joseaugustojoseaugusto Member Posts: 10

    This is getting ridiculous guys. Please, please, do this math:

    1. How much would it cost each month to hire two or three new developers.
    2. How much money you're losing each month from people abandoning GameSalad

    It's not rocket science.

  • AlchimiaStudiosAlchimiaStudios Member Posts: 1,069
    edited August 2018

    @joseaugusto @Simple Gamer Arts

    Have you tested on something with iOS 11.4.1 as they said in the email? iOS 9 is getting pretty old now.

    I would try and recreate the exact configuration they used if possible.

    Another thing to note is that conflicting rules will sometimes cause GS Apps to become unresponsive. In other words, not everything you can code or create in GS is always safe.

    Even logic that seems non-conflicting can be conflicted because of the way GS reads logic and executes code. So sometimes something you think would trigger first gets delayed to the next frame pass and ends up conflicting with logic that's queued up already for that frame.

    For example is you have multiple move to's triggering without run to completion on for the same actor, and/or have a change attribute self.X you will likely get odd behaviour and unresponsive controls or a crash. Other things may still function such as sound or particles.

    Tables can also cause this behavior. If you have an attribute that is used in a table function and called right away (no logic wrapping, conditions for rule met, etc). and the attribute is set to 0, that will be a reference to a cell that does not exist, and GS will not take that kindly.

    Of course it could be an engine specific issue, but just some things to think about.

    Follow us: Twitter - Website

  • Simple Gamer ArtsSimple Gamer Arts Member, PRO Posts: 303
    edited August 2018

    Thank you @AlchimiaStudios , insightful things you have written no doubt and very true about how GS can interpret code with imperfections and one has to work around that sometimes with a timer or other methods.

    With my issue, I just resolved it not too long ago with Armelline:

    I basically was differentiating codes for Android and iOS, my error was to write:

    Attribute/device/platform/name "contains:" iP

    • the correct way is -

    Attribute/device/platform/name "contains:" iOS (using expression)

    This is why App Store's iPad (platform name iOS) was not reading my game.

    Note: YOU HAVE TO USE EXPRESSION in order for the "contain" rule to function... without the expression "contain" works the same as "is".... very important.

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949
    edited August 2018

    @Simple Gamer Arts said:
    Note: YOU HAVE TO USE EXPRESSION in order for the "contain" rule to function... without the expression "contain" works the same as "is".... very important.

    I'm glad you solved the problem but I'm not sure your explanation is accurate. The "contains" condition of a rule works whether or not you use an expression in the expression editor. See the attached simple demo for an example.

    It sounds like the fix was to change the string from "iP" to "iOS" as you mentioned.

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • Simple Gamer ArtsSimple Gamer Arts Member, PRO Posts: 303
    edited August 2018

    Hi @tatiang ,

    the platform name on an:

    iPad is "iOS"
    iPad mini is "iPhone OS" (I have this)
    iPhone is "iPhone OS" (I have this)

    The first code I was using: if attribute "contains" "iP" was only covering my iPad-mini and iPhone (but App Store seems to test apps on normal iPads, which I don't have).

    The new code I'm using: if attribute "contains" "iOS", covers everything, but one must write iOS in the expression or else the "contains" acts like an "is"... I tested them over and over again and putting "contains" "iOS" without using the expression didn't work... only when I used expression... at least that was the case on my end.

    P.S. I don't own a normal iPad, just an iPad-mini, which has the same platform-name as an iPhone, so I couldn't test not-using-the-expression on a normal iPad... so perhaps I'm assuming a bit I admit, but my logic says that.

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949
    edited August 2018

    Hmm, I suppose I shouldn't assume what I said is true for a published app but it would really surprise me if "contains" didn't actually mean "contains." **

    **Of course, our government says that truth isn't truth so who knows?

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • ArmellineArmelline Member, PRO Posts: 5,332

    What's happening is that the first condition is being ignored because the iOS is typed directly into the expression editor without quotation marks, which makes it invalid. Since none of the platforms being tested contain the word "Android," the second condition is passed and the logic is run. This makes it appear to be working, when it isn't. It's easily fixed by just checking specifically for iOS/iPhone/iPad and ignoring the Android condition.

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949
    edited August 2018

    @Armelline Ah, yes, if you type a string into the expression editor without quotation marks, it won't recognize it but if you type it into the field without opening the expression editor, it should work fine.

    confusing

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

Sign In or Register to comment.