Skip to content

Release: 2.27.0#215

Closed
uc-brunosilva wants to merge 1 commit into
masterfrom
release/2.27.0
Closed

Release: 2.27.0#215
uc-brunosilva wants to merge 1 commit into
masterfrom
release/2.27.0

Conversation

@uc-brunosilva

@uc-brunosilva uc-brunosilva commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Released version 2.27.0 with enhanced consent management including mandatory label support
    • Added language change API for Unity platform
  • Bug Fixes

    • Improved Android accessibility features
    • Resolved multiple Android, iOS, TV, and Unity compatibility issues
    • Updated PUR compliance
  • Chores

    • Updated SDK version to 2.27.0

@codeant-ai

codeant-ai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Skipping CodeAnt AI review — this PR is a back-merge between long-lived branches (release/2.27.0master). The diff here has already been reviewed when the underlying commits landed on the source branch, so re-running analysis would produce duplicate findings on already-reviewed code.

If you want to analyze this anyway (e.g. you resolved conflicts with new logic), comment @codeant-ai : review and CodeAnt will start a review.

@qodo-code-review

Copy link
Copy Markdown

Review Summary by Qodo

Release 2.27.0 with mandatory label support

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Release version 2.27.0 with mandatory label feature
• Added mandatoryLabel property to TCF2Settings across platforms
• Updated version numbers in build and package configs
• Comprehensive changelog documenting features and fixes
Diagram
flowchart LR
  A["Version Update<br/>2.26.3 → 2.27.0"] --> B["Add mandatoryLabel<br/>to TCF2Settings"]
  B --> C["Android Implementation"]
  B --> D["iOS Implementation"]
  B --> E["TypeScript Model"]
  C --> F["Updated Build Config"]
  D --> G["Updated Package Config"]
  E --> H["Release Notes"]

Loading

Grey Divider

File Changes

1. android/build.gradle.kts ⚙️ Configuration changes +1/-1

Update Android SDK version

• Updated usercentricsVersion from 2.26.3 to 2.27.0

android/build.gradle.kts


2. android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt ✨ Enhancement +1/-0

Add mandatory label serialization

• Added mandatoryLabel field to TCF2Settings serialization
• Maps the mandatory label property to the WritableMap output

android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt


3. ios/Extensions/UsercentricsCMPData+Dict.swift ✨ Enhancement +1/-0

Add mandatory label to iOS serialization

• Added mandatoryLabel field to TCF2Settings dictionary conversion
• Includes mandatory label in the toDictionary output

ios/Extensions/UsercentricsCMPData+Dict.swift


View more (3)
4. CHANGELOG.md 📝 Documentation +21/-0

Document 2.27.0 release notes

• Added comprehensive 2.27.0 release notes with features and fixes
• Documents PUR Compliance mandatory label and hide vendor toggles
• Lists multiple Android accessibility improvements (TalkBack, focus indicators)
• Includes fixes for iOS SPM compatibility, TV initialization, and Unity API

CHANGELOG.md


5. package.json ⚙️ Configuration changes +2/-2

Update package version numbers

• Updated version from 2.26.3 to 2.27.0
• Updated iosPackageVersion from 2.26.3 to 2.27.0

package.json


6. src/models/TCF2Settings.tsx ✨ Enhancement +3/-0

Add mandatory label to TypeScript model

• Added mandatoryLabel: string property to TCF2Settings class
• Added mandatoryLabel parameter to constructor with default value 'Mandatory'
• Assigned mandatoryLabel in constructor initialization

src/models/TCF2Settings.tsx


Grey Divider

Qodo Logo

@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 96531b91-24e7-4024-b278-8a87eff0f13f

📥 Commits

Reviewing files that changed from the base of the PR and between ea9cf47 and 0c3756d.

⛔ Files ignored due to path filters (3)
  • package-lock.json is excluded by !**/package-lock.json
  • sample/ios/Podfile.lock is excluded by !**/*.lock
  • sample/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (7)
  • CHANGELOG.md
  • android/build-legacy.gradle
  • android/build.gradle.kts
  • android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt
  • ios/Extensions/UsercentricsCMPData+Dict.swift
  • package.json
  • src/models/TCF2Settings.tsx

📝 Walkthrough

Walkthrough

This PR releases version 2.27.0 of the React Native SDK, adding a mandatoryLabel property to the TCF2Settings model and serializing it across Android and iOS platforms. All version numbers in build configuration and package manifests are bumped from 2.26.3 to 2.27.0, and release notes are added to the changelog.

Changes

2.27.0 Release: mandatoryLabel Property and Version Bump

Layer / File(s) Summary
TCF2Settings mandatory label property
src/models/TCF2Settings.tsx
New mandatoryLabel: string property added to TCF2Settings with a default value of 'Mandatory' in the constructor.
Android and iOS serialization
android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt, ios/Extensions/UsercentricsCMPData+Dict.swift
The mandatoryLabel property is serialized in both Android and iOS platform bridges to expose the field in cross-platform data exchange.
Release documentation and version updates
CHANGELOG.md, android/build-legacy.gradle, android/build.gradle.kts, package.json
Release notes document the 2.27.0 features and fixes; version constants are incremented from 2.26.3 to 2.27.0 across all Android Gradle files and npm package manifest.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested labels

Review effort 1/5, size:M

Suggested reviewers

  • asadraza-usercentrics
  • uc-brunosouza

Poem

🐰 A label for the mandatory path,
Through Android swift and iOS math,
From two-six-three to two-seven flows,
The SDK grows, the version shows! 📦✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Release: 2.27.0' is directly related to the main change in the changeset, which is a version bump releasing version 2.27.0 across all affected files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/2.27.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qodo-code-review

qodo-code-review Bot commented Jun 2, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0)

Grey Divider


Remediation recommended

1. Required field may be absent 🐞 Bug ≡ Correctness
Description
TCF2Settings.mandatoryLabel is declared as a required string in TypeScript, but getCMPData()
returns raw native objects (no TS constructor/defaults), so a missing/omitted native value will
surface as undefined on the JS side. On Android, Map<String, Any?>.toWritableMap() drops nulls
entirely, so a null mandatoryLabel would be omitted rather than represented or defaulted.
Code

src/models/TCF2Settings.tsx[62]

Evidence
TypeScript marks mandatoryLabel as required, but the public JS API returns the native object
directly (no instantiation of TCF2Settings), so the constructor default cannot ensure the field
exists. On Android, the map-to-RN conversion has no null branch, so any null mandatoryLabel will
be omitted from the payload entirely.

src/models/TCF2Settings.tsx[60-126]
src/Usercentrics.tsx[68-71]
android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[189-252]
android/src/main/java/com/usercentrics/reactnative/extensions/ReadableMapExtensions.kt[74-113]
ios/Extensions/UsercentricsCMPData+Dict.swift[236-241]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`mandatoryLabel` is modeled as required in TypeScript, but React Native returns plain JS objects from native modules (the TS class constructor + its default value are not applied). If the native SDK ever provides `mandatoryLabel` as null/missing, the Android bridge will omit the key (nulls are dropped), leading to `undefined` at runtime despite the TS contract.

## Issue Context
The SDK’s JS API returns the native object directly without hydration into model instances.

## Fix Focus Areas
- Make the TS field optional and/or add a JS-side fallback when returning CMP data.
- Ensure native serializers always provide a non-null string (e.g., `?: "Mandatory"`) or extend the Android `toWritableMap` to explicitly write nulls.

### Suggested changes
- Option A (recommended):
 - Change `mandatoryLabel: string` to `mandatoryLabel?: string` in `TCF2Settings` and document default behavior.
 - In `Usercentrics.getCMPData()`, normalize: `tcf2.mandatoryLabel ??= 'Mandatory'` (and similarly for other platforms if needed).
- Option B:
 - Android: serialize with `"mandatoryLabel" to (mandatoryLabel ?: "Mandatory")`.
 - iOS: serialize with `"mandatoryLabel": self.mandatoryLabel` only if it’s guaranteed non-optional, otherwise coalesce.

## Fix Focus Areas (paths and lines)
- src/models/TCF2Settings.tsx[59-188]
- src/Usercentrics.tsx[68-71]
- android/src/main/java/com/usercentrics/reactnative/extensions/ReadableMapExtensions.kt[74-113]
- android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[189-252]
- ios/Extensions/UsercentricsCMPData+Dict.swift[236-241]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@pantoaibot

pantoaibot Bot commented Jun 2, 2026

Copy link
Copy Markdown

PR Summary:

Release 2.27.0 — adds TCF2 "mandatoryLabel" support for PUR Compliance and bumps package/library versions.

  • CHANGELOG.md updated with 2.27.0 release notes (PUR Compliance features, accessibility fixes, Unity API notes).
  • Added mandatoryLabel to TCF2 settings and exposed it across bridges:
    • src/models/TCF2Settings.tsx — new mandatoryLabel property (default "Mandatory") and assignment in constructor.
    • android/src/.../UsercentricsCMPDataExtensions.kt — include "mandatoryLabel" in serialized map returned to JS.
    • ios/Extensions/UsercentricsCMPData+Dict.swift — include "mandatoryLabel" in toDictionary output.
  • Version bumps:
    • android/build-legacy.gradle and android/build.gradle.kts — usercentrics version updated to 2.27.0.
    • package.json — package version and iosPackageVersion updated to 2.27.0.
  • Behavior/compatibility: new field is serialized and available to bridges; default value provided so no breaking changes for existing configs.

Reviewed by Panto AI

Comment thread src/models/TCF2Settings.tsx
@pantoaibot

pantoaibot Bot commented Jun 2, 2026

Copy link
Copy Markdown

Reviewed up to commit:0c3756db984c2562c6f0470e0034045b84d18d6f

Reviewed by Panto AI

@uc-brunosilva uc-brunosilva deleted the release/2.27.0 branch June 2, 2026 09:53
@qodo-code-review

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: test-ios

Failed stage: Run tests [❌]

Failed test name: ""

Failure summary:

The action failed because the iOS test build (sampleTests target) did not compile, causing
xcodebuild to exit with code 65 and tests to be cancelled.
- Compile error in
sample/ios/sampleTests/Mock/CMPData+Mock.swift:290:17: missing arguments for parameters consentOrPay
and mandatoryLabel in a .init(...) call (missing arguments for parameters 'consentOrPay',
'mandatoryLabel' in call).
- Because the build failed, the test run was cancelled (Testing cancelled
because the build failed. / ** TEST FAILED **).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

859:  Installing React-RCTText (0.81.4)
860:  Installing React-RCTVibration (0.81.4)
861:  Installing React-RuntimeApple (0.81.4)
862:  Installing React-RuntimeCore (0.81.4)
863:  Installing React-RuntimeHermes (0.81.4)
864:  Installing React-callinvoker (0.81.4)
865:  Installing React-cxxreact (0.81.4)
866:  Installing React-debug (0.81.4)
867:  Installing React-defaultsnativemodule (0.81.4)
868:  Installing React-domnativemodule (0.81.4)
869:  Installing React-featureflags (0.81.4)
870:  Installing React-featureflagsnativemodule (0.81.4)
871:  Installing React-graphics (0.81.4)
872:  Installing React-hermes (0.81.4)
873:  Installing React-idlecallbacksnativemodule (0.81.4)
874:  Installing React-jserrorhandler (0.81.4)
875:  Installing React-jsi (0.81.4)
...

1124:  ▸ Copying ExecutionContextManager.h
1125:  ▸ Copying ExecutionContext.h
1126:  ▸ Copying ConsoleMessage.h
1127:  ▸ Copying Base64.h
1128:  ▸ Copying React-jsiexecutor-umbrella.h
1129:  ▸ Copying JSINativeModules.h
1130:  ▸ Copying JSIExecutor.h
1131:  ▸ Copying threadsafe.h
1132:  ▸ Copying jsilib.h
1133:  ▸ Copying jsi.h
1134:  ▸ Copying jsi-inl.h
1135:  ▸ Copying instrumentation.h
1136:  ▸ Copying decorator.h
1137:  ▸ Copying React-jsi-umbrella.h
1138:  ▸ Copying JSIDynamic.h
1139:  ▸ Copying React-jserrorhandler-umbrella.h
1140:  ▸ Copying React-idlecallbacksnativemodule-umbrella.h
...

1149:  ▸ Running script '[CP] Copy XCFrameworks'
1150:  ▸ Processing ResourceBundle-nanopb_Privacy-nanopb-Info.plist
1151:  ▸ Copying /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/nanopb/nanopb_Privacy.bundle/PrivacyInfo.xcprivacy
1152:  ▸ Touching nanopb_Privacy.bundle (in target 'nanopb-nanopb_Privacy' from project 'Pods')
1153:  ▸ Processing nanopb-Info.plist
1154:  ▸ Processing ResourceBundle-glog_privacy-glog-Info.plist
1155:  ▸ Touching glog_privacy.bundle (in target 'glog-glog_privacy' from project 'Pods')
1156:  ▸ Processing glog-Info.plist
1157:  ▸ Processing fmt-Info.plist
1158:  ▸ Processing ResourceBundle-boost_privacy-boost-Info.plist
1159:  ▸ Processing Yoga-Info.plist
1160:  ▸ Touching boost_privacy.bundle (in target 'boost-boost_privacy' from project 'Pods')
1161:  ▸ Copying TraceSection.h
1162:  ▸ Copying SystraceSection.h
1163:  ▸ Copying SharedProxyCxxModule.h
1164:  ▸ Copying RecoverableError.h
1165:  ▸ Copying ReactNativeVersion.h
...

1168:  ▸ Copying RAMBundleRegistry.h
1169:  ▸ Copying NativeToJsBridge.h
1170:  ▸ Copying NativeModule.h
1171:  ▸ Copying MoveWrapper.h
1172:  ▸ Copying ModuleRegistry.h
1173:  ▸ Copying MethodCall.h
1174:  ▸ Copying MessageQueueThread.h
1175:  ▸ Copying JsArgumentHelpers.h
1176:  ▸ Copying JsArgumentHelpers-inl.h
1177:  ▸ Copying JSModulesUnbundle.h
1178:  ▸ Copying JSIndexedRAMBundle.h
1179:  ▸ Copying JSExecutor.h
1180:  ▸ Copying JSBundleType.h
1181:  ▸ Copying JSBigString.h
1182:  ▸ Copying Instance.h
1183:  ▸ Copying ErrorUtils.h
1184:  ▸ Copying CxxNativeModule.h
...

1583:  ▸ Copying RCTI18nUtil.h
1584:  ▸ Copying RCTI18nManager.h
1585:  ▸ Copying RCTHTTPRequestHandler.h
1586:  ▸ Copying RCTGIFImageDecoder.h
1587:  ▸ Copying RCTFrameUpdate.h
1588:  ▸ Copying RCTFrameAnimation.h
1589:  ▸ Copying RCTFont.h
1590:  ▸ Copying RCTFileRequestHandler.h
1591:  ▸ Copying RCTFileReaderModule.h
1592:  ▸ Copying RCTFPSGraph.h
1593:  ▸ Copying RCTExceptionsManager.h
1594:  ▸ Copying RCTEventEmitter.h
1595:  ▸ Copying RCTEventDispatcherProtocol.h
1596:  ▸ Copying RCTEventDispatcher.h
1597:  ▸ Copying RCTEventAnimation.h
1598:  ▸ Copying RCTErrorInfo.h
1599:  ▸ Copying RCTErrorCustomizer.h
1600:  ▸ Copying RCTDynamicTypeRamp.h
...

1680:  ▸ Compiling SocketRocket-dummy.m
1681:  ▸ Compiling SRWebSocket.m
1682:  ▸ Compiling SRURLUtilities.m
1683:  ▸ Compiling SRSecurityPolicy.m
1684:  ▸ Compiling SRSIMDHelpers.m
1685:  ▸ Compiling SRRunLoopThread.m
1686:  ▸ Compiling SRRandom.m
1687:  ▸ Compiling SRProxyConnect.m
1688:  ▸ Compiling SRPinningSecurityPolicy.m
1689:  ▸ Compiling SRMutex.m
1690:  ▸ Compiling SRLog.m
1691:  ▸ Compiling SRIOConsumerPool.m
1692:  ▸ Compiling SRIOConsumer.m
1693:  ▸ Compiling SRHash.m
1694:  ▸ Compiling SRHTTPConnectMessage.m
1695:  ▸ Compiling SRError.m
1696:  ▸ Compiling SRDelegateController.m
...

1786:  ▸ Copying RCTSurfaceTouchHandler+RNSUtility.h
1787:  ▸ Copying RCTImageSource+AccessHiddenMembers.h
1788:  ▸ Copying RCTImageComponentView+RNSScreenStackHeaderConfig.h
1789:  ▸ Copying RCTConvert+RNScreens.h
1790:  ▸ Copying RCTConvert+RNSTabs.h
1791:  ▸ Copying NSString+RNSUtility.h
1792:  ▸ Copying RCTTypedModuleConstants.h
1793:  ▸ Copying RCTTypeSafety-umbrella.h
1794:  ▸ Copying RCTConvertHelpers.h
1795:  ▸ Copying RCTDeprecation.h
1796:  ▸ Copying RCTDeprecation-umbrella.h
1797:  ▸ Copying RCT-Folly-umbrella.h
1798:  ▸ Copying FBLPromisePrivate.h
1799:  ▸ Copying PromisesObjC-umbrella.h
1800:  ▸ Copying FBLPromises.h
1801:  ▸ Copying FBLPromiseError.h
1802:  ▸ Copying FBLPromise.h
...

1828:  ▸ Copying GULNetworkLoggerProtocol.h
1829:  ▸ Copying GULNetworkInfo.h
1830:  ▸ Copying GULNetworkConstants.h
1831:  ▸ Copying GULNetwork.h
1832:  ▸ Copying GULNSData+zlib.h
1833:  ▸ Copying GULMutableDictionary.h
1834:  ▸ Copying GULLoggerLevel.h
1835:  ▸ Copying GULLogger.h
1836:  ▸ Copying GULKeychainUtils.h
1837:  ▸ Copying GULKeychainStorage.h
1838:  ▸ Copying GULApplication.h
1839:  ▸ Copying GULAppEnvironmentUtil.h
1840:  ▸ Copying GULAppDelegateSwizzler.h
1841:  ▸ Copying FirebaseInstallations.h
1842:  ▸ Copying FirebaseInstallations-umbrella.h
1843:  ▸ Copying FIRInstallationsErrors.h
1844:  ▸ Copying FIRInstallationsAuthTokenResult.h
...

1864:  ▸ Copying bignum.h
1865:  ▸ Copying bignum-dtoa.h
1866:  ▸ Copying DoubleConversion-umbrella.h
1867:  ▸ Processing ResourceBundle-React-Core_privacy-React-Core-Info.plist
1868:  ▸ Copying /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/React-Core/React-Core_privacy.bundle/PrivacyInfo.xcprivacy
1869:  ▸ Processing ResourceBundle-RCT-Folly_privacy-RCT-Folly-Info.plist
1870:  ▸ Processing RCTDeprecation-Info.plist
1871:  ▸ Compiling RCTDeprecation_vers.c
1872:  ▸ Compiling RCTDeprecation-dummy.m
1873:  ▸ Touching React_debug.framework (in target 'React-debug' from project 'Pods')
1874:  ▸ Touching React-Core_privacy.bundle (in target 'React-Core-React-Core_privacy' from project 'Pods')
1875:  ▸ Processing ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist
1876:  ▸ Copying /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/PromisesObjC/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy
1877:  ▸ Compiling FBLPromises_vers.c
1878:  ▸ Compiling PromisesObjC-dummy.m
1879:  ▸ Compiling FBLPromiseError.m
1880:  ▸ Compiling FBLPromise.m
...

1945:  ▸ Compiling GULAppDelegateSwizzler.m
1946:  ▸ Touching FirebaseCore_Privacy.bundle (in target 'FirebaseCore-FirebaseCore_Privacy' from project 'Pods')
1947:  ▸ Compiling DoubleConversion-dummy.m
1948:  ▸ Compiling FirebaseInstallations_vers.c
1949:  ▸ Compiling FirebaseInstallations-dummy.m
1950:  ▸ Compiling FIRInstallationsStoredItem.m
1951:  ▸ Compiling FIRInstallationsStoredAuthToken.m
1952:  ▸ Compiling FIRInstallationsLogger.m
1953:  ▸ Compiling FIRInstallationsItem.m
1954:  ▸ Compiling FIRInstallationsItem+RegisterInstallationAPI.m
1955:  ▸ Compiling FIRInstallationsSingleOperationPromiseCache.m
1956:  ▸ Compiling FIRInstallationsStore.m
1957:  ▸ Compiling FIRInstallationsIIDTokenStore.m
1958:  ▸ Compiling FIRInstallationsIIDStore.m
1959:  ▸ Compiling FIRInstallationsIDController.m
1960:  ▸ Compiling FIRInstallationsHTTPError.m
1961:  ▸ Compiling FIRInstallationsErrorUtil.m
1962:  ▸ Compiling FIRInstallationsBackoffController.m
...

2308:  ▸ Compiling RCTModalManager.m
2309:  ▸ Compiling RCTModalHostViewManager.m
2310:  ▸ Compiling RCTModalHostViewController.m
2311:  ▸ Compiling RCTModalHostView.m
2312:  ▸ Compiling RCTLayoutAnimationGroup.m
2313:  ▸ Compiling RCTLayoutAnimation.m
2314:  ▸ Compiling RCTLayout.m
2315:  ▸ Compiling RCTKeyCommands.m
2316:  ▸ Compiling RCTJSThread.m
2317:  ▸ Compiling RCTJSStackFrame.m
2318:  ▸ Compiling RCTImageSource.m
2319:  ▸ Compiling RCTI18nUtil.m
2320:  ▸ Compiling RCTFrameUpdate.m
2321:  ▸ Compiling RCTEventEmitter.m
2322:  ▸ Compiling RCTEventDispatcher.m
2323:  ▸ Compiling RCTErrorInfo.m
2324:  ▸ Compiling RCTDisplayLink.m
...

2359:  ▸ Compiling RCTInputAccessoryViewManager.mm
2360:  ▸ Compiling RCTInputAccessoryViewContent.mm
2361:  ▸ Compiling RCTInputAccessoryView.mm
2362:  ▸ Compiling RCTInputAccessoryShadowView.mm
2363:  ▸ Compiling RCTDynamicTypeRamp.mm
2364:  ▸ Compiling RCTConvert+Text.mm
2365:  ▸ Compiling RCTBaseTextViewManager.mm
2366:  ▸ Compiling RCTBaseTextShadowView.mm
2367:  ▸ Compiling RCTBaseTextInputViewManager.mm
2368:  ▸ Compiling RCTBaseTextInputView.mm
2369:  ▸ Compiling RCTBaseTextInputShadowView.mm
2370:  ▸ Compiling RCTBackedTextInputDelegateAdapter.mm
2371:  ▸ Compiling RCTText_vers.c
2372:  ▸ Compiling React-RCTText-dummy.m
2373:  ▸ Touching ReactCommon.framework (in target 'ReactCommon' from project 'Pods')
2374:  ▸ Processing React-jserrorhandler-Info.plist
2375:  ▸ Compiling StackTraceParser.cpp
2376:  ▸ Compiling JsErrorHandler.cpp
2377:  ▸ Compiling NSTextStorage+FontScaling.m
2378:  ▸ Compiling React_jserrorhandler_vers.c
2379:  ▸ Compiling React-jserrorhandler-dummy.m
2380:  ▸ Touching React_graphics.framework (in target 'React-graphics' from project 'Pods')
2381:  ▸ Touching React.framework (in target 'React-Core' from project 'Pods')
2382:  ▸ Processing React-RCTText-Info.plist
2383:  ▸ Processing React-NativeModulesApple-Info.plist
2384:  ▸ Compiling RCTTurboModuleManager.mm
2385:  ▸ Compiling RCTTurboModule.mm
2386:  ▸ Compiling RCTInteropTurboModule.mm
2387:  ▸ Compiling React_NativeModulesApple_vers.c
2388:  ▸ Running script 'Create Symlinks to Header Folders'
2389:  ▸ Touching RCTText.framework (in target 'React-RCTText' from project 'Pods')
2390:  ▸ Touching React_jserrorhandler.framework (in target 'React-jserrorhandler' from project 'Pods')
2391:  ▸ Processing RCTTypeSafety-Info.plist
...

3019:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:79:7: the variable "console" was not declared in function "metroRequire"
3020:  console.warn(`Requiring module "${verboseName}" by name is only support...
3021:  ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
3022:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:460:33: the variable "setTimeout" was not declared in function "metroHotUpdateModule"
3023:  reactRefreshTimeout = setTimeout(function () {
3024:  ^~~~~~~
3025:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:546:18: the variable "window" was not declared in function "performFullRefresh"
3026:  if (typeof window !== "undefined" && window.location != null && typeof ...
3027:  ^~~~~~~~~~
3028:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:2457:20: the variable "Promise" was not declared in function "promiseMethodWrapper"
3029:  return new Promise(function (resolve, reject) {
3030:  ^~~~~~
3031:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:2843:23: the variable "DebuggerInternal" was not declared in function "__shouldPauseOnThrow"
3032:  return typeof DebuggerInternal !== 'undefined' && DebuggerInternal.sh...
3033:  ^~~~~~~
3034:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:5986:49: the variable "reportError" was not declared in anonymous function " 155#"
3035:  ...alError = "function" === typeof reportError ? reportError : function (erro...
3036:  ^~~~~~~~~~~~~~~~
3037:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:6490:105: the variable "MessageChannel" was not declared in function "enqueueTaskImpl"
3038:  ... = !0, "undefined" === typeof MessageChannel && console.error("This browse...
3039:  ^~~~~~~~~~~
...

3180:  ^~~~~~~~~~~~~~~~~~~~~~
3181:  ⚠️  /Users/runner/Library/Developer/Xcode/DerivedData/sample-cxwqelddxzdsolcgdcbbvovmgaly/Build/Products/Debug-iphonesimulator/main.jsbundle:161516:9: Direct call to eval(), but lexical scope is not supported.
3182:  eval(body);
3183:  ^~~~~~~~~~
3184:  ▸ Running script '[CP] Embed Pods Frameworks'
3185:  ▸ Running script '[CP] Copy Pods Resources'
3186:  ▸ Running script '[CP] Check Pods Manifest.lock'
3187:  ❌  /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/CMPData+Mock.swift:290:17: missing arguments for parameters 'consentOrPay', 'mandatoryLabel' in call
3188:  return .init(firstLayerTitle: "firstLayerTitle",
3189:  ^~~~~~~~~~
3190:  Run script build phase '[CP-User] [Hermes] Replace Hermes for the right configuration, if needed' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'hermes-engine' from project 'Pods')
3191:  Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'sample' from project 'sample')
3192:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'fmt' from project 'Pods')
3193:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/node_modules/react-native/ReactCommon/yoga/yoga/enums/Align.h (in target 'Yoga' from project 'Pods')
3194:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/node_modules/react-native/ReactCommon/yoga/yoga/enums/FlexDirection.h (in target 'Yoga' from project 'Pods')
3195:  Testing failed:
3196:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Yoga' from project 'Pods')
3197:  Missing arguments for parameters 'consentOrPay', 'mandatoryLabel' in call
3198:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'ReactCommon' from project 'Pods')
3199:  Testing cancelled because the build failed.
3200:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ComponentDescriptors.h (in target 'ReactCodegen' from project 'Pods')
3201:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ComponentDescriptors.h (in target 'ReactCodegen' from project 'Pods')
3202:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ComponentDescriptors.h (in target 'ReactCodegen' from project 'Pods')
3203:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/EventEmitters.h (in target 'ReactCodegen' from project 'Pods')
3204:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/EventEmitters.h (in target 'ReactCodegen' from project 'Pods')
3205:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/EventEmitters.h (in target 'ReactCodegen' from project 'Pods')
3206:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/Props.h (in target 'ReactCodegen' from project 'Pods')
3207:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/Props.h (in target 'ReactCodegen' from project 'Pods')
3208:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/Props.h (in target 'ReactCodegen' from project 'Pods')
3209:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/RCTComponentViewHelpers.h (in target 'ReactCodegen' from project 'Pods')
3210:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/RCTComponentViewHelpers.h (in target 'ReactCodegen' from project 'Pods')
3211:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/RCTComponentViewHelpers.h (in target 'ReactCodegen' from project 'Pods')
3212:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ShadowNodes.h (in target 'ReactCodegen' from project 'Pods')
3213:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ShadowNodes.h (in target 'ReactCodegen' from project 'Pods')
3214:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/ShadowNodes.h (in target 'ReactCodegen' from project 'Pods')
3215:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/States.h (in target 'ReactCodegen' from project 'Pods')
3216:  ** TEST FAILED **
3217:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/States.h (in target 'ReactCodegen' from project 'Pods')
3218:  Skipping duplicate build file in Copy Headers build phase: /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/build/generated/ios/react/renderer/components/safeareacontext/States.h (in target 'ReactCodegen' from project 'Pods')
3219:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'ReactCodegen' from project 'Pods')
3220:  The following build commands failed:
3221:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-utils' from project 'Pods')
3222:  SwiftCompile normal arm64 Compiling\ FakeDispatchQueue.swift,\ FakePresentationViewController.swift,\ FakeUsercentricsManager.swift,\ CMPData+Mock.swift,\ TCFData+Mock.swift,\ TCFUserDecisions+Mock.swift,\ UsercentricsIsReady+Mock.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Fake/FakeDispatchQueue.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Fake/FakePresentationViewController.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Fake/FakeUsercentricsManager.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/CMPData+Mock.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/TCFData+Mock.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/TCFUserDecisions+Mock.swift /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/UsercentricsIsReady+Mock.swift (in target 'sampleTests' from project 'sample')
3223:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-runtimescheduler' from project 'Pods')
3224:  SwiftCompile normal arm64 /Users/runner/work/react-native-sdk/react-native-sdk/sample/ios/sampleTests/Mock/CMPData+Mock.swift (in target 'sampleTests' from project 'sample')
3225:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-runtimeexecutor' from project 'Pods')
3226:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-rendererdebug' from project 'Pods')
3227:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-renderercss' from project 'Pods')
3228:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-rendererconsistency' from project 'Pods')
3229:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-performancetimeline' from project 'Pods')
3230:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-microtasksnativemodule' from project 'Pods')
3231:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-jsitooling' from project 'Pods')
3232:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-jsinspectortracing' from project 'Pods')
3233:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-jsinspectorcdp' from project 'Pods')
3234:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-jsinspectornetwork' from project 'Pods')
3235:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-jserrorhandler' from project 'Pods')
3236:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-idlecallbacksnativemodule' from project 'Pods')
...

3241:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-defaultsnativemodule' from project 'Pods')
3242:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-debug' from project 'Pods')
3243:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-RuntimeHermes' from project 'Pods')
3244:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-RuntimeCore' from project 'Pods')
3245:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-RuntimeApple' from project 'Pods')
3246:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-RCTRuntime' from project 'Pods')
3247:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-RCTFBReactNativeSpec' from project 'Pods')
3248:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-NativeModulesApple' from project 'Pods')
3249:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-Mapbuffer' from project 'Pods')
3250:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-ImageManager' from project 'Pods')
3251:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-FabricImage' from project 'Pods')
3252:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-FabricComponents' from project 'Pods')
3253:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-Fabric' from project 'Pods')
3254:  Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RCT-Folly' from project 'Pods')
3255:  Testing workspace sample with scheme sample
3256:  (3 failures)
3257:  ##[error]Process completed with exit code 65.
3258:  ##[group]Run actions/upload-artifact@v4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants