iOS & macOS

Last updated: 2021-07-13 15:03:04

    This document describes how to quickly run the Tencent Cloud TRTC demo for iOS and macOS.

    Environment Requirements

    • Xcode 11.0 or above
    • Your project has a valid developer signature.
    • Qt Creator 4.13.3 (macOs) or above

    Prerequisites

    You have signed up for a Tencent Cloud account and completed identity verification.

    Directions

    Step 1. Create an application.

    1. Log in to the TRTC Console and select Development Assistance > Demo Quick Run.
    2. Click Start Now, enter an application name, e.g. TestTRTC, and click Create.

    Step 2. Download the SDK and demo source code

    1. Mouse over the corresponding block to download the SDK and demo source code.

      iOS

    • iOS: click GitHub to visit GitHub (or click ZIP)

    • macOS: click GitHub to visit GitHub (or click ZIP)

    1. After the download, return to the TRTC console and click Downloaded and Next to view your SDKAppID and secret key.

    Step 3. Configure demo project files.

    1. Decompress the source package downloaded in step 2.

    2. Find and open the GenerateTestUserSig.h file.

      PlatformRelative Path to File
      iOSiOS/TRTCScenesDemo/TXLiteAVDemo/Debug/GenerateTestUserSig.h
      MacMac/OCDemo/TRTCDemo/TRTC/GenerateTestUserSig.h
    3. Set parameters in the GenerateTestUserSig.h file.

      • SDKAPPID: it is 0 by default. Please replace it with the real `SDKAppID`.
      • SECRETKEY: left empty by default. Set it to the actual secret key.
    4. Return to the TRTC console and click Pasted and Next.

    5. Click Close Guide and Enter Console to Manage Applications.

    Note:

    The method for generating UserSig described in this document involves configuring SECRETKEY in client code. In this method, SECRETKEY may be easily decompiled and reversed, and if your key is leaked, attackers can steal your Tencent Cloud traffic. Therefore, this method is only suitable for the local execution and debugging of the demo.
    The correct UserSig distribution method is to integrate the calculation code of UserSig into your server and provide an application-oriented API. When UserSig is needed, your application can send a request to the business server for a dynamic UserSig. For more information, see How do I calculate UserSig on the server?.

    Step 4. Compile and run the project.

    1. Go to the directory where the TRTCScenesDemo > Podfile file of the source code is located in a terminal window.
    2. Run the pod install command to install the TRTC SDK, or run the pod update command to update the local library.
    3. Use Xcode (11.0 or above) to open the TXLiteAVDemo.xcworkspace project in the source code directory, and compile and run the project.

    FAQ

    1. Only public and private key information can be obtained when I try to view the secret key. How do I get the secret key?

    TRTC SDK 6.6 (August 2019) and later versions use the new signature algorithm HMAC-SHA256. If your application was created before August 2019, you need to upgrade the signature algorithm to get a new secret key. Without upgrading, you can continue to use the old algorithm ECDSA-SHA256. After upgrading, you can switch between the new and old algorithms as needed.

    Upgrade/Switch:

    1. Log in to the TRTC console.
    2. Click Application Management on the left sidebar, find the target application, and click Application Info.
    3. Select the Quick Start tab and click Upgrade, Asymmetric Encryption, or HMAC-SHA256 in Step 2: obtain the secret key to issue UserSig.
      • Upgrade:
      • Switch to the legacy algorithm ECDSA-SHA256:
      • Switch to the new algorithm HMAC-SHA256.

    2. The demo is running on two mobile phones, but why can't they display the images of each other?

    Make sure that the two mobile phones use different UserIDs. With TRTC, you cannot use the same UserID on two devices simultaneously unless the SDKAppIDs are different.

    3. What firewall restrictions does the SDK face?

    The SDK uses the UDP protocol for audio/video transmission and therefore cannot be used in office networks that block UDP. If you encounter such a problem, see How to Deal with Firewall Restrictions for assistance.