diff --git a/.githooks/commit-msg b/.githooks/commit-msg new file mode 100755 index 000000000..3a6c8c6da --- /dev/null +++ b/.githooks/commit-msg @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +if [ -t 1 ] ; then + exec < /dev/tty ; # <- enables interactive shell +fi + +dir="$(git rev-parse --show-toplevel)" + +call_lefthook() +{ + if lefthook -h >/dev/null 2>&1 + then + eval lefthook $@ + elif test -f "$dir/node_modules/@arkweid/lefthook/bin/lefthook" + then + eval "$dir/node_modules/@arkweid/lefthook/bin/lefthook $@" + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook $@ + elif npx @arkweid/lefthook -h >/dev/null 2>&1 + then + npx @arkweid/lefthook $@ + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook $@ + else + echo "Can't find lefthook in PATH" + fi +} + + + +call_lefthook "run commit-msg $@" diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 000000000..9ba5f6449 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +if [ -t 1 ] ; then + exec < /dev/tty ; # <- enables interactive shell +fi + +dir="$(git rev-parse --show-toplevel)" + +call_lefthook() +{ + if lefthook -h >/dev/null 2>&1 + then + eval lefthook $@ + elif test -f "$dir/node_modules/@arkweid/lefthook/bin/lefthook" + then + eval "$dir/node_modules/@arkweid/lefthook/bin/lefthook $@" + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook $@ + elif npx @arkweid/lefthook -h >/dev/null 2>&1 + then + npx @arkweid/lefthook $@ + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook $@ + else + echo "Can't find lefthook in PATH" + fi +} + + + +call_lefthook "run pre-commit $@" diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg new file mode 100755 index 000000000..82a53aec9 --- /dev/null +++ b/.githooks/prepare-commit-msg @@ -0,0 +1,39 @@ +#!/bin/sh + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +if [ -t 1 ] ; then + exec < /dev/tty ; # <- enables interactive shell +fi + +dir="$(git rev-parse --show-toplevel)" + +call_lefthook() +{ + if lefthook -h >/dev/null 2>&1 + then + eval lefthook $@ + elif test -f "$dir/node_modules/@arkweid/lefthook/bin/lefthook" + then + eval "$dir/node_modules/@arkweid/lefthook/bin/lefthook $@" + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook $@ + elif npx @arkweid/lefthook -h >/dev/null 2>&1 + then + npx @arkweid/lefthook $@ + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook $@ + else + echo "Can't find lefthook in PATH" + fi +} + +# lefthook_version: 9df6c1f1f0b607d16db43f25a405e842 + +call_lefthook "install" + +call_lefthook "run prepare-commit-msg $@" diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..dd84ea782 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..bbcbbe7d6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 000000000..b260cb6ff --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,26 @@ +name: Setup +description: Setup Node.js and install dependencies + +runs: + using: composite + steps: + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + + - name: Cache dependencies + id: yarn-cache + uses: actions/cache@v3 + with: + path: | + **/node_modules + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Install dependencies + if: steps.yarn-cache.outputs.cache-hit != 'true' + run: | + yarn install --frozen-lockfile + shell: bash diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 000000000..dc90e5a1c --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,17 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..ab69a22fc --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,128 @@ +name: Build API Example +run-name: ${{ github.actor }} triggered this job +on: + workflow_dispatch: +jobs: + build-android: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup + + - name: SetupExample + run: | + yarn install --frozen-lockfile + working-directory: example + + - name: Modify APP ID + run: | + sed "s/\"appId\": \(.*\),/\"appId\": \"${{ secrets.APP_ID }}\",/g" agora.config.json > tmp + mv tmp agora.config.json + working-directory: example/src/config + + - name: Gradle build + run: | + ./gradlew :app:assembleRelease + working-directory: example/android + + - uses: actions/upload-artifact@v3 + with: + name: AgoraRtcExample + path: | + example/android/**/*.apk + + build-ios: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup + + - uses: actions/cache@v3 + with: + path: example/ios/Pods + key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} + restore-keys: | + ${{ runner.os }}-pods- + + - name: SetupExample + run: | + yarn + + - name: Modify APP ID + run: | + sed "s/\"appId\": \(.*\),/\"appId\": \"${{ secrets.APP_ID }}\",/g" agora.config.json > tmp + mv tmp agora.config.json + working-directory: example/src/config + + - name: Install the Apple certificate and provisioning profile + env: + BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + run: | + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + PP_PATH=$RUNNER_TEMP/${{ secrets.BUILD_PROVISION_PROFILE_UUID }}.mobileprovision + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db + + # import certificate and provisioning profile from secrets + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH + echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH + + # apply provisioning profile + mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles + cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + + - uses: hendrikmuhs/ccache-action@v1.2 + with: + max-size: 5G + + - name: Fastlane build + env: + CC: clang + CXX: clang++ + CLANG: clang + CLANGPLUSPLUS: clang++ + LD: clang + LDPLUSPLUS: clang++ + CCACHE_SLOPPINESS: clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros + CCACHE_FILECLONE: true + CCACHE_DEPEND: true + CCACHE_INODECACHE: true + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + fastlane gym --export_method "development" --export_options "{\"compileBitcode\":false}" + working-directory: example/ios + + - uses: actions/upload-artifact@v3 + with: + name: AgoraRtcExample + path: | + example/ios/*.ipa + + - uses: actions/upload-artifact@v3 + with: + name: AgoraRtcExampleSymbol + path: | + example/ios/*.dSYM.zip + + notification: + runs-on: ubuntu-latest + needs: [ build-android, build-ios ] + steps: + - run: | + curl -X POST "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${{ secrets.WECHAT_KEY }}" -d '{"msgtype":"text","text":{"content":"ReactNative:\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}}' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..dcb132638 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,41 @@ +name: Publish to NPM +run-name: ${{ github.actor }} triggered this job +on: + workflow_dispatch: + inputs: + increment: + description: 'Increment "major", "minor", "patch", or "pre*" version; or specify version [default: "patch"]' + required: true + default: 'patch' + type: string + dry-run: + description: 'Do not touch or write anything, but show the commands' + default: true + type: boolean + +jobs: + release-it: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup + uses: ./.github/actions/setup + + - name: Setup NPM auth token + run: | + npm set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }} + + - if: ${{ inputs.dry-run }} + run: | + yarn release ${{ inputs.increment }} -d --ci + + - if: ${{ !inputs.dry-run }} + run: | + git config --global user.email "${{ secrets.GIT_EMAIL }}" + git config --global user.name "${{ secrets.GIT_USERNAME }}" + yarn release ${{ inputs.increment }} --ci diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..5397c87fa --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +16.18.1 diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 000000000..a4dd9dba4 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.7.4 diff --git a/android/build.gradle b/android/build.gradle index d84599b31..630c2d1de 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -135,8 +135,8 @@ dependencies { implementation "com.facebook.react:react-native:+" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // From node_modules - api 'io.agora.rtc:full-sdk:3.7.0.3' - api 'io.agora.rtc:full-screen-sharing:3.7.0.3' + api 'io.agora.rtc:agora-special-full:3.7.2.4' + api 'io.agora.rtc:full-screen-sharing:3.7.2.4' } if (isNewArchitectureEnabled()) { diff --git a/example/Gemfile b/example/Gemfile new file mode 100644 index 000000000..1582389da --- /dev/null +++ b/example/Gemfile @@ -0,0 +1,6 @@ + +source "https://rubygems.org" + +gem "cocoapods", "1.12.0" + + \ No newline at end of file diff --git a/example/Gemfile.lock b/example/Gemfile.lock new file mode 100644 index 000000000..49124906b --- /dev/null +++ b/example/Gemfile.lock @@ -0,0 +1,95 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + activesupport (7.0.4.3) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.1.0) + cocoapods (1.12.0) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.12.0) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.6.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.21.0, < 2.0) + cocoapods-core (1.12.0) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (1.6.3) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.2.2) + escape (0.0.4) + ethon (0.16.0) + ffi (>= 1.15.0) + ffi (1.15.5) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.12.0) + concurrent-ruby (~> 1.0) + json (2.6.3) + minitest (5.18.0) + molinillo (0.8.0) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.7) + rexml (3.2.5) + ruby-macho (2.5.1) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + xcodeproj (1.22.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods (= 1.12.0) + +BUNDLED WITH + 2.1.4 diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 669386b87..8fad3f5a9 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/example/ios/AgoraExample.xcodeproj/project.pbxproj b/example/ios/AgoraExample.xcodeproj/project.pbxproj index 87fec847d..f129a2562 100644 --- a/example/ios/AgoraExample.xcodeproj/project.pbxproj +++ b/example/ios/AgoraExample.xcodeproj/project.pbxproj @@ -243,14 +243,14 @@ ORGANIZATIONNAME = Facebook; TargetAttributes = { 13B07F861A680F5B00A75B9A = { - DevelopmentTeam = 56S4B84HA8; + DevelopmentTeam = PV44H27855; LastSwiftMigration = 1110; - ProvisioningStyle = Automatic; + ProvisioningStyle = Manual; }; F55AC4E72816A4AA00FAF1D9 = { CreatedOnToolsVersion = 13.3.1; - DevelopmentTeam = 56S4B84HA8; - ProvisioningStyle = Automatic; + DevelopmentTeam = PV44H27855; + ProvisioningStyle = Manual; }; }; }; @@ -356,21 +356,21 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AgoraExample/Pods-AgoraExample-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/AINS/AgoraAIDenoiseExtension.framework/AgoraAIDenoiseExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/AV1Dec/AgoraDav1dExtension.framework/AgoraDav1dExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ContentInspect/AgoraCIExtension.framework/AgoraCIExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/FullAudioFormat/AgoraFullAudioFormatExtension.framework/AgoraFullAudioFormatExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ROIEnc/AgoraFDExtension.framework/AgoraFDExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ReplayKit/AgoraReplayKitExtension.framework/AgoraReplayKitExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraCore.framework/AgoraCore", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraRtcKit.framework/AgoraRtcKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraSoundTouch.framework/AgoraSoundTouch", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/Agorafdkaac.framework/Agorafdkaac", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/Agoraffmpeg.framework/Agoraffmpeg", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/SpatialAudio/AgoraSpatialAudioExtension.framework/AgoraSpatialAudioExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/SuperResolution/AgoraSuperResolutionExtension.framework/AgoraSuperResolutionExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/VideoPreprocess/AgoraVideoProcessExtension.framework/AgoraVideoProcessExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/VirtualBackground/AgoraVideoSegmentationExtension.framework/AgoraVideoSegmentationExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraAIDenoiseExtension.framework/AgoraAIDenoiseExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraCIExtension.framework/AgoraCIExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraCore.framework/AgoraCore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraDav1dExtension.framework/AgoraDav1dExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraFDExtension.framework/AgoraFDExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraFullAudioFormatExtension.framework/AgoraFullAudioFormatExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraReplayKitExtension.framework/AgoraReplayKitExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraRtcKit.framework/AgoraRtcKit", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraSoundTouch.framework/AgoraSoundTouch", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraSpatialAudioExtension.framework/AgoraSpatialAudioExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraSuperResolutionExtension.framework/AgoraSuperResolutionExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraVideoProcessExtension.framework/AgoraVideoProcessExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/AgoraVideoSegmentationExtension.framework/AgoraVideoSegmentationExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/Agorafdkaac.framework/Agorafdkaac", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_Special_iOS/Agoraffmpeg.framework/Agoraffmpeg", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", @@ -379,20 +379,20 @@ name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraAIDenoiseExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraDav1dExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCIExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFullAudioFormatExtension.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraDav1dExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFDExtension.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFullAudioFormatExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraReplayKitExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraRtcKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSoundTouch.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSpatialAudioExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSuperResolutionExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoProcessExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoSegmentationExtension.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", @@ -484,10 +484,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = 56S4B84HA8; + DEVELOPMENT_TEAM = PV44H27855; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = PV44H27855; INFOPLIST_FILE = AgoraExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_CFLAGS = ( @@ -499,9 +501,10 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample123; + PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample; PRODUCT_NAME = AgoraExample; - PROVISIONING_PROFILE_SPECIFIER = ""; + PROVISIONING_PROFILE_SPECIFIER = AgoraQA2021; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = AgoraQA2021; SWIFT_OBJC_BRIDGING_HEADER = "AgoraExample-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; @@ -517,9 +520,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 56S4B84HA8; + DEVELOPMENT_TEAM = PV44H27855; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = PV44H27855; INFOPLIST_FILE = AgoraExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_CFLAGS = ( @@ -531,9 +536,10 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample123; + PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample; PRODUCT_NAME = AgoraExample; - PROVISIONING_PROFILE_SPECIFIER = ""; + PROVISIONING_PROFILE_SPECIFIER = AgoraQA2021; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = AgoraQA2021; SWIFT_OBJC_BRIDGING_HEADER = "AgoraExample-Bridging-Header.h"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -654,10 +660,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 56S4B84HA8; + DEVELOPMENT_TEAM = PV44H27855; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = PV44H27855; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = ScreenSharing/Info.plist; @@ -668,9 +676,10 @@ MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample123.ScreenSharing; + PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample.ScreenSharing; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + PROVISIONING_PROFILE_SPECIFIER = AgoraQA2021; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = AgoraQA2021; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -689,11 +698,13 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 56S4B84HA8; + DEVELOPMENT_TEAM = PV44H27855; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = PV44H27855; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = ScreenSharing/Info.plist; @@ -703,9 +714,10 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample123.ScreenSharing; + PRODUCT_BUNDLE_IDENTIFIER = io.agora.react.AgoraExample.ScreenSharing; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + PROVISIONING_PROFILE_SPECIFIER = AgoraQA2021; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = AgoraQA2021; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/example/ios/Podfile b/example/ios/Podfile index 47a797051..3efd06c90 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -34,5 +34,5 @@ target 'AgoraExample' do end target 'ScreenSharing' do - pod 'AgoraRtcEngine_iOS', '3.7.0.3' + pod 'AgoraRtcEngine_Special_iOS', '3.7.2.4' end diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index ee82139a2..a47243565 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,27 +1,5 @@ PODS: - - AgoraRtcEngine_iOS (3.7.0.3): - - AgoraRtcEngine_iOS/AINS (= 3.7.0.3) - - AgoraRtcEngine_iOS/AV1Dec (= 3.7.0.3) - - AgoraRtcEngine_iOS/ContentInspect (= 3.7.0.3) - - AgoraRtcEngine_iOS/FullAudioFormat (= 3.7.0.3) - - AgoraRtcEngine_iOS/ReplayKit (= 3.7.0.3) - - AgoraRtcEngine_iOS/ROIEnc (= 3.7.0.3) - - AgoraRtcEngine_iOS/RtcBasic (= 3.7.0.3) - - AgoraRtcEngine_iOS/SpatialAudio (= 3.7.0.3) - - AgoraRtcEngine_iOS/SuperResolution (= 3.7.0.3) - - AgoraRtcEngine_iOS/VideoPreprocess (= 3.7.0.3) - - AgoraRtcEngine_iOS/VirtualBackground (= 3.7.0.3) - - AgoraRtcEngine_iOS/AINS (3.7.0.3) - - AgoraRtcEngine_iOS/AV1Dec (3.7.0.3) - - AgoraRtcEngine_iOS/ContentInspect (3.7.0.3) - - AgoraRtcEngine_iOS/FullAudioFormat (3.7.0.3) - - AgoraRtcEngine_iOS/ReplayKit (3.7.0.3) - - AgoraRtcEngine_iOS/ROIEnc (3.7.0.3) - - AgoraRtcEngine_iOS/RtcBasic (3.7.0.3) - - AgoraRtcEngine_iOS/SpatialAudio (3.7.0.3) - - AgoraRtcEngine_iOS/SuperResolution (3.7.0.3) - - AgoraRtcEngine_iOS/VideoPreprocess (3.7.0.3) - - AgoraRtcEngine_iOS/VirtualBackground (3.7.0.3) + - AgoraRtcEngine_Special_iOS (3.7.2.4) - boost (1.76.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) @@ -647,7 +625,7 @@ PODS: - React-logger (0.68.2): - glog - react-native-agora (3.7.1): - - AgoraRtcEngine_iOS (= 3.7.0.3) + - AgoraRtcEngine_Special_iOS (= 3.7.2.4) - React-Core - react-native-safe-area-context (3.4.1): - React-Core @@ -740,7 +718,7 @@ PODS: - Yoga (~> 1.14) DEPENDENCIES: - - AgoraRtcEngine_iOS (= 3.7.0.3) + - AgoraRtcEngine_Special_iOS (= 3.7.2.4) - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) @@ -816,7 +794,7 @@ DEPENDENCIES: SPEC REPOS: trunk: - - AgoraRtcEngine_iOS + - AgoraRtcEngine_Special_iOS - CocoaAsyncSocket - Flipper - Flipper-Boost-iOSX @@ -925,7 +903,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - AgoraRtcEngine_iOS: 549bb3853d5afb18fabca4197786f39f31141da8 + AgoraRtcEngine_Special_iOS: 0ebb16a61343394538886b048ffced6b5497673a boost: a7c83b31436843459a1961bfd74b96033dc77234 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 @@ -961,7 +939,7 @@ SPEC CHECKSUMS: React-jsiexecutor: b7b553412f2ec768fe6c8f27cd6bafdb9d8719e6 React-jsinspector: c5989c77cb89ae6a69561095a61cce56a44ae8e8 React-logger: a0833912d93b36b791b7a521672d8ee89107aff1 - react-native-agora: c328ef8c381d7b22cc11d1eb298d8ff8a8e7a70d + react-native-agora: a1446a62fd8f0fd652f9b774a0394099c40db241 react-native-safe-area-context: 9e40fb181dac02619414ba1294d6c2a807056ab9 react-native-slider: cecabb58ecffad671d2ad3ccc58c7f4d2d029e95 React-perflogger: a18b4f0bd933b8b24ecf9f3c54f9bf65180f3fe6 @@ -987,6 +965,6 @@ SPEC CHECKSUMS: Yoga: 99652481fcd320aefa4a7ef90095b95acd181952 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 4984374b4461bf4cb3c4d07597d8e7acd3a93668 +PODFILE CHECKSUM: bf7947bb47f0833cb1706573b003615e4204040c -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.0 diff --git a/example/src/config/agora.config.json b/example/src/config/agora.config.json index 2f2622b79..b94b0b8ba 100644 --- a/example/src/config/agora.config.json +++ b/example/src/config/agora.config.json @@ -2,9 +2,9 @@ "//appId": "Get your own App ID at https://dashboard.agora.io/", "appId": YOUR_APP_ID, "//token": "Please refer to https://docs.agora.io/en/Agora%20Platform/token", - "token": YOUR_TOKEN, + "token": "", "//channelId": "Your channel ID", - "channelId": YOUR_CHANNEL_ID, + "channelId": "test", "//uid": "Your int user ID", "uid": 0, "//stringUid": "Your string user ID", diff --git a/react-native-agora.podspec b/react-native-agora.podspec index 358e98903..a45d862e8 100644 --- a/react-native-agora.podspec +++ b/react-native-agora.podspec @@ -18,7 +18,7 @@ Pod::Spec.new do |s| s.source_files = "ios/**/*.{h,m,mm,swift}" s.dependency "React-Core" - s.dependency "AgoraRtcEngine_iOS", "3.7.0.3" + s.dependency "AgoraRtcEngine_Special_iOS", "3.7.2.4" # Don't install the dependencies when we run `pod install` in the old architecture. if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then diff --git a/yarn.lock b/yarn.lock index 8fab7f95c..ba243e6c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9463,10 +9463,10 @@ typedoc-default-themes@^0.11.4: resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== -typedoc-plugin-no-inherit@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.2.2.tgz#bcd44256ec80773250baf2b4e4dc50261a33b791" - integrity sha512-y25JXvdmk8BzkRyc7SlJzredqgj0J3oAscv8gLdqEgIlOWwnZ+MVd6up2y6O+pJ1S2M3T4fDKEXmJDhdMaXIdQ== +typedoc-plugin-no-inherit@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.4.0.tgz#8eafc790588f63f0a24621b646219cd6e8d6e4d6" + integrity sha512-cAvqQ8X9xh1xztVoDKtF4nYRSBx9XwttN3OBbNNpA0YaJSRM8XvpVVhugq8FoO1HdWjF3aizS0JzdUOMDt0y9g== typedoc@^0.19.2: version "0.19.2"