General Issues

Use the following topics to identify possible causes and corrective actions for issues you may encounter with You.i React Native:

Setup Issues

Refer to the following section for general setup issues.

Issue: Copied Command Is Not Working

Symptoms

You copied a command string directly from this document and pasted it into a terminal window. The command is not working.

Corrective Actions

Ensure the following:

  • If a hyphen is in the command, delete it and retype it directly in the terminal window.
  • You are using quotation marks that are not curved. To be recognized, they must be straight.

App Build Issues

Issue: Missing Signing Certificates

Symptoms

You copied a command string directly from this document and pasted it into a terminal window. The command is not working.

Corrective Actions

Ensure the following:

  • If a hyphen is in the command, delete it and retype it directly in the terminal window.
  • You are using quotation marks that are not curved. To be recognized, they must be straight.

Issue: Missing Profiles

Affected target platforms: iOS and tvOS

Symptoms

iOS command line build fails with the following output:

No iOS profile matching 'W4E9HL2DXS/iOS Ticket Bus You.i Development' found:  Xcode couldn't find a profile matching 'W4E9HL2DXS/iOS Ticket Bus You.i Development'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.3'
Code signing is required for product type 'Application' in SDK 'iOS 10.3'
Code signing is required for product type 'Application' in SDK 'iOS 10.3'

tvOS command line build fails with the following output:

No tvOS profile matching 'W4E9HL2DXS/tvOS Ticket Bus You.i Development' found:  Xcode couldn't find a profile matching 'W4E9HL2DXS/tvOS Ticket Bus You.i Development'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Code signing is required for product type 'Application' in SDK 'tvOS 10.2'
Code signing is required for product type 'Application' in SDK 'tvOS 10.2

Causes

Apple signing certificates are not correctly configured.

Corrective Action

  1. Verify that your Apple Developer account:

    1. Is a member of a valid development team
    2. Has all required valid profiles
    3. Has all required valid signing certificates See Installing Xcode.
  2. If your Apple Developer account is correctly configured, then you may need to download your team’s certificates to your Xcode IDE:

    1. Generate the Xcode project and open it in Xcode. To generate the Xcode project file run one of the following from your project’s top-level folder:

      youi-tv generate -p ios oryoui-tv generate -p tvos

    2. Select the Xcode > Preferences. In the resulting window, select the Accounts tab.
    3. Select your development team and click Download All Profiles.

      Installation_Apple_Dev_Certs.png

      The team profiles containing the certificates are downloaded to Xcode.

    4. To build directly in Xcode, see Building and Running the App in Xcode. After building the app in Xcode, future command line builds succeed.

Issue: ‘xcodeproj’ (= 1.4.2) Not Found

Affected target platforms: iOS and tvOS

Symptoms

youi-tv build fails with the following output:

PhaseScriptExecution CMake\ PostBuild\ Rules /Users/jsmith/MyApp/build/ios/YouiEngine\ ONE\ Reference\ Application.build/Debug-iphoneos/EmbedFramework.build/Script-E4C6687C07AF4766AAB9F093.sh
    cd /Users/jsmith/MyApp/src
    /bin/sh -c \"/Users/jsmith/MyApp/build/ios/YouiEngine\ ONE\ Reference\ Application.build/Debug-iphoneos/EmbedFramework.build/Script-E4C6687C07AF4766AAB9F093.sh\"
cd /Users/jsmith/MyApp/build/ios && /Users/jsmith/MyApp/youi_accelerator/tools/embed-framework.rb "YouiEngine ONE Reference Application" MyApp ../youi_accelerator/thirdparty/Comcast/ios/ComcastDebug TPPlayer.framework
/Users/jsmith/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'xcodeproj' (= 1.4.2) among 10 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/jsmith/.gem/ruby/2.2.0:/Users/jsmith/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0', execute `gem env` for more information
from /Users/jsmith/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
from /Users/jsmith/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /Users/jsmith/MyApp/youi_accelerator/tools/embed-framework.rb:3:in `<main>'
make: *** [EmbedFramework_buildpart_0] Error 1Command /bin/sh failed with exit code 2

** BUILD FAILED **


The following build commands failed:
PhaseScriptExecution CMake\ PostBuild\ Rules /Users/jsmith/MyApp/build/ios/YouiEngine\ ONE\ Reference\ Application.build/Debug-iphoneos/EmbedFramework.build/Script-E4C6687C07AF4766AAB9F093.sh

Corrective Action

Install the missing xcodeproj gem with the following command:

gem install xcodeproj --version 1.4.2

Issue: CMake Is Installed, but Still Getting CMake Error With XCode 10

Affected Dev Platform: macOS

Symptom

CMake gives the following error: CMake Error at CMakeLists.txt:27 (project): No CMAKE_C_COMPILER could be found.

Causes

The version of the CMake installed is less than 3.12.

Corrective Action

Install CMake with version 3.12 or higher for XCode 10.

Issue: No (CMAKE_C_COMPILER|CMAKE_CXX_COMPILER) Could Be Found

Affected Dev Platform: macOS

Symptom

youi-tv build fails with the following error:

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:30 (project):
No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:30 (project):
No CMAKE_CXX_COMPILER could be found.

Causes

The installation of Xcode and the command-line tools are in a half-state of being installed.

Corrective Action

Reset the xcode-select action with the following command line: sudo xcode-select --reset

Issue: Unnecessary Files or File Directories or Files With Specific Extensions Getting Copied During Asset Copying

Affected Dev Platform: All

Corrective Action

To exclude specific file extensions during asset copying before the project generation, such as .log and .aep, do the following to the CMakeLists.txt file:

  1. Add the following command: set(YI_EXCLUDED_ASSET_FILE_EXTENSIONS ".log,.aep" CACHE STRING "Comma-delimited list of file extensions whose files should be omitted during asset copying.").

  2. Update the yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME} function as following:

    yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME}
        EXCLUDED_EXTENSIONS ${YI_EXCLUDED_ASSET_FILE_EXTENSIONS}
    )
    

To exclude a specific files during asset copying before the project generation, such as abc.log and test.aep, do the following to the CMakeLists.txt file:

  1. Add the following command: set(YI_EXCLUDED_ASSET_FILES "abc.log,test.aep" CACHE STRING "Comma-delimited list of files that should be omitted during asset copying.").
  2. Update the yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME} function as following:

    yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME}
        EXCLUDED_FILES ${YI_EXCLUDED_ASSET_FILES}
    )
    

To exclude a specific file directories during asset copying before the project generation, such as test or logs, do the following to the CMakeLists.txt file:

  1. Add the following command: set(YI_EXCLUDED_ASSET_FILE_DIRECTORIES "abc,test" CACHE STRING "Comma-delimited list of file directories that should be omitted during asset copying.")

  2. Update the yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME} function as following:

    yi_configure_asset_copying(PROJECT_TARGET ${PROJECT_NAME}
        EXCLUDED_DIRECTORIES ${YI_EXCLUDED_ASSET_FILE_DIRECTORIES}
    )
    

Issue: Build Fails With a Trigraph Error When Using xmldom Library

Affected target platforms: tvOS, OS X.

Symptoms

When applications depend on and instantiate the xmldom parser, building in release mode with inline bundling fails with a trigraph error:

error: trigraph ??' ignored, use -trigraphs to enable [-Werror=trigraphs]

Corrective Action

Add the -Wno-trigraphs compiler flag to CMakeList.txt by adding these lines to the end of the file. If you see this with another platform, edit the if statement to include your platform, for example change it to OSX OR IOS.

if(TVOS OR OSX)
    target_compile_options(${PROJECT_NAME} PRIVATE -Wno-trigraphs)
endif()

Issue: Undefined Reference to Non-virtual Thunk

Affected Dev Platform: Linux

Symptoms

Linking errors in the form of “undefined reference to non-virtual thunk to”

Corrective Action

Ensure your application sets the _GLIBCXX_USE_CXX11_ABI compiler flag to the value 1. This is the default value and You.i TV doesn’t change the default when compiling You.i C++. Both the application and You.i C++ must use the same compiler flag, or you’ll be unable to link in You.i C++.