Use the following topics to identify possible causes and corrective actions for issues you may encounter:
Tip When troubleshooting a Roku app, you can press ***** on the Roku remote to display the cloud server commit SHA1 identifier as well as the build date and time of the executable.
You copied a command string directly from this document and pasted it into a terminal window. The command is not working.
Ensure the following:
Affected target platforms: macOS and Linux
Your IDE starts the app, but it presents a monochromatic blank screen similar to the following:
This is expected behavior. The app has correctly started but it is waiting for input from a client on a Roku device. Possible causes include:
Affected target platforms: macOS and Linux
Text may be shifted or off-screen in your macOS or Linux development environment, and possibly on the Roku device screen as well.
This problem is a known issue. One of the main causes for text shifting: change in the screen dimensions since the app launch, such as moving the app window from one screen to another, or resizing the window. For example, if you’re developing on macOS, with a Roku device connected to a secondary screen, you may notice text shifting issues on macOS, as well as on the Roku device.
One workaround, to confirm if it’s related to Window resizing, is to try to run the app in headless mode on your development environment by adding the -n1
argument to the server build command.
If the issue still persists, that means it’s not related to window resizing and will likely occur on a Roku device also.
For more information on building and launching Roku apps, see Building Roku Apps.
Affected target platforms: macOS and Linux
Text and Video Player rendering issues in your macOS or Linux development environment.
This problem is a known issue related to scaling nodes. For example, if you’re developing on macOS or Linux, you may notice text and video player rendering issues on your development environment.
One of the first things you should do to resolve rendering issues for player and text nodes is to limit all unnecessary scaling done in your app and scale only one node in a given node hierarchy.
As a workaround for RN apps, look at the screen connected to your Roku device instead of your development environment, or run the app in headless mode by adding the -n1
argument to your server build command.
For more information on building and launching Roku apps, see Building Roku Apps.
Running the app in headless mode by adding the -n1
argument for C++ apps will not resolve the rendering issues, as they are due to the app design involving scaling nodes.
Affected target platforms: macOS
Command line build fails with the following output:
Check dependencies
No signing certificate "Mac Development" found: No "Mac Development" signing certificate matching team ID "<Team ID>" with a private key was found.
Apple signing certificates are not correctly configured.
youi-tv generate -p osx
To build directly in Xcode, see Building and Running the App in Xcode.
After building the app in Xcode, future command line builds succeed.Affected target platforms: macOS and Linux
Image assets are not loading on a Roku app
Possible causes include:
CYIImageView
has had its image URL set.
This is required for export to Roku.
See the documentation of CYIImageView::SetImageUrl()
.
If the image is only set by texture, the image URL cannot be exported to Roku.Affected target platforms: macOS and Linux
The Roku client launches but results in an <AppName> application Error
error dialog.
The Roku client is unable to connect with a server.
Verify the configuration of host
and port
in the client’s manifest
file:
host
is the IP address of your local machine and port
is 54322.host
is the IP address of the server host and port
is 80.host
field in the manifest
file.Affected target platforms: mac OS and Linux
The Roku client displays a scene but some elements (for example, a list) are missing.
The missing scene element (for example, list) was not ready or visible during initial scene export.
Use the Home button to quit the BrightScript channel and then relaunch it. This causes the app logic to re-export the scene and send it to the client.
Affected target platforms: macOS and Linux
You cannot put in focus a particular list or view.
The problematic list or view could not be put in focus during focus map generation.
The focus map that the Roku client uses is static and is generated once a scene is exported and the app logic has a valid view in focus.
focusMapCommand()
subroutine in <youi_engine_one>/src/cloud/source/focus.brs
.Affected target platforms: mac OS and Linux
App crashes when starting playback.
The asset does not have a corresponding BIF file.
The Roku client assumes trickplay is required for all non-live video streams. Because of this, every asset in a non-live stream requires a BIF file.
Ensure all playable assets have a corresponding BIF file.
Tip You can also use the Roku Stream/RAF Tester Tool to analyze potential issues with video playback.
Affected target platforms: mac OS and Linux, You.i Platform previous to release 5.0
After building an app and deploying it to a cloud server, the Roku client fails to load a component library and displays the following error message: The ComponentLibrary transfer failed!
Tip 1 If you haven’t done so already, set ENABLE_DEBUG_ERROR_DIALOG
to true
in the Roku client manifest file.
Tip 2 You can see a more precise error message from the Roku debug Telnet session if you load the same component library with the Roku Development Application Installer. To access the Development Application Installer, open a web browser session to the Roku device’s IP address.
The error message implies that the error occurs when the component library is downloaded from the cloud server. That may be the cause; however, there can be many other causes not necessarily due to downloading. The following are some of the typical causes:
Use youi-tv generate
before you rebuild the app.
The generate
command copies all required components into component libraries.
Use the debugging tip explained previously to find more data on the actual error. The Telnet session log should indicate the line causing the error, although not necessarily what’s wrong.