ngRepeat: rejectionReason in message.qcRejectionReasons
10.1 - Apps must comply with all terms and conditions explained in the applicable Apple Human Interface Guidelines: iOS Human Interface Guidelines OS X Human Interface Guidelines Apple TV Human Interface Guidelines Apple Watch Human Interface Guidelines
end ngRepeat: rejectionReason in message.qcRejectionReasons
10.1 Details
Thank you for your resubmission. We found that the previous issue is still present in this version: the Menu button on the Siri Remote does not behave as expected in your app.
Specifically, when the user launches the app and taps the Menu button on the Siri remote, the app does not exit to the Apple TV Home screen.
This is really easy to fix. When you are on a screen that you can’t “back out any further”, that is the logical action when pressing “Menu” is to return to the tvOS main screen, such as a menu screen you need to call:
system.activate( "controllerUserInteraction" )
When you are on any other screen that you can back up to the main menu, then you call:
system.deactivate( "controllerUserInteraction" )
and handle the Menu button as a back button. For instance if you’re playing a game, pressing menu should pause the game and present a small menu to the user that gives them choices, one is to back up to the level select screen (or you could just go to the level select screen). From the level select screen, the back button should take you to the menu screen. Almost like you would handle an Android back button.
This call to system.activate( “controllerUserInteraction” )/system.deactivate( “controllerUserInteraction” ) lets your app know when to have the menu suspend your app (like pressing the Home button on an iPhone) or when you intend to use it for app navigation.
I found this in the docs after first looking at the source for Corona Cannon:
The menu button on controllers (keyName “menu”) is expected to pause the app, or move the user to the previous screen. Once the user is at the main menu, the app must use system.activate(“controllerUserInteraction”) andsystem.deactivate(“controllerUserInteraction”) to tell the operating system that a menu button press should back out of the app. See the Pew Pew sample app’s main-menu.lua for an example of how to use this.
Note that a long press of the menu button will always exit your app, and is the default method to exit the app unless changed as described above.
This is really easy to fix. When you are on a screen that you can’t “back out any further”, that is the logical action when pressing “Menu” is to return to the tvOS main screen, such as a menu screen you need to call:
system.activate( "controllerUserInteraction" )
When you are on any other screen that you can back up to the main menu, then you call:
system.deactivate( "controllerUserInteraction" )
and handle the Menu button as a back button. For instance if you’re playing a game, pressing menu should pause the game and present a small menu to the user that gives them choices, one is to back up to the level select screen (or you could just go to the level select screen). From the level select screen, the back button should take you to the menu screen. Almost like you would handle an Android back button.
This call to system.activate( “controllerUserInteraction” )/system.deactivate( “controllerUserInteraction” ) lets your app know when to have the menu suspend your app (like pressing the Home button on an iPhone) or when you intend to use it for app navigation.
I found this in the docs after first looking at the source for Corona Cannon:
The menu button on controllers (keyName “menu”) is expected to pause the app, or move the user to the previous screen. Once the user is at the main menu, the app must use system.activate(“controllerUserInteraction”) andsystem.deactivate(“controllerUserInteraction”) to tell the operating system that a menu button press should back out of the app. See the Pew Pew sample app’s main-menu.lua for an example of how to use this.
Note that a long press of the menu button will always exit your app, and is the default method to exit the app unless changed as described above.