Unity-Technologies / Unity-Technologies/com.unity.webrtc

[BUG]: Build script for iOS not working with XCode 26

Open
#1,115 1 comment 1 reaction 1 assignee View on GitHub

@karasusan is already working on this.

Since Nov 10, 2025.

bug
Dominant language
Assembly
Stars
852
Forks
238
PR merge metrics
No merged PRs in 30d

Description

Package version

3.0.0-pre.8

Environment
* OS: Mac OS Tahoe (26.0.1)
* Unity version: n/a
* Build target: iOS 26

Running the build script BuildScripts~/build_libwebrtc_ios.sh yields multiple errors on an M2 Mac with XCode 26. 
Starting with iOS 26, UIKit has a dependency to a new subframework UIUtilities, that may be causing this error.
Steps To Reproduce
  1. Ensure build tools are up to date:
    Update XCode to version 26
    Update brew
    Upgrade brew packages
    Install cmake using brew
  2. Run build script for ios:
    BuildScripts~/build_libwebrtc_ios.sh
  3. After downloading dependencies and beginning the build, the script fails with multiple errors similar to this:
../src/third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/sdk/audio_session_objc/RTCAudioSession.o.d -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCR_XCODE_VERSION=2601 -DCR_CLANG_REVISION=\"llvmorg-17-init-12166-g7586aeab-3\" -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWEBRTC_ENABLE_PROTOBUF=1 -DWEBRTC_STRICT_FIELD_TRIALS=0 -DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -DRTC_ENABLE_VP9 -DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY -DWEBRTC_HAVE_SCTP -DWEBRTC_ARCH_ARM64 -DWEBRTC_HAS_NEON -DWEBRTC_LIBRARY_IMPL -DWEBRTC_ENABLE_AVX2 -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_POSIX -DWEBRTC_MAC -DWEBRTC_IOS -DABSL_ALLOCATOR_NOTHROW=1 -I../src -Igen -I../src/third_party/abseil-cpp -I../src/sdk/objc -I../src/sdk/objc/base  -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wunguarded-availability -Wundeclared-selector -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector-strong -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../src/tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -target arm64-apple-ios12.0 -fno-global-isel -mno-outline -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -g2 -gdwarf-aranges -Xclang -debug-info-kind=limited -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wglobal-constructors -Wno-shadow -Wctad-maybe-unsupported -Wc++11-narrowing -Wundef -Wunused-lambda-capture -Wimplicit-retain-self -Wstrict-overflow -Wmissing-field-initializers -Wimplicit-retain-self -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++17 -Wno-trigraphs -fobjc-call-cxx-cdtors -Xclang -fno-cxx-modules -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -fobjc-arc -c ../src/sdk/objc/components/audio/RTCAudioSession.mm -o obj/sdk/audio_session_objc/RTCAudioSession.o
In file included from ../src/sdk/objc/components/audio/RTCAudioSession.mm:13:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:9:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h:9:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h:10:9: fatal error: 'UIUtilities/UIDefines.h' file not found
Current Behavior

Build fails despite verifying that prerequisites are installed.

Expected Behavior

Build succeeds.

Anything else?

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.