Bjarne Knutzen e7091a8441
Some checks are pending
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / build-library (push) Waiting to run
CI / build-android (push) Waiting to run
CI / build-ios (push) Waiting to run
first commit
2026-01-16 08:45:37 +01:00
..
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00
2026-01-16 08:45:37 +01:00

WebID Meta Plugin React Native POC

Disclaimer

This iOS example application is provided solely as a proof of concept and for technical evaluation.
It is experimental, not formally approved, not officially released, and not endorsed by WebID for production use.

The setup described below includes non-standard workarounds and temporary configuration adjustments that are required due to current tooling and dependency constraints.
Do not use this configuration as a production reference.


Overview

This repository contains an example iOS application demonstrating integration of the WebID Meta Plugin in a React Native environment.

Due to:

  • mixed minimum iOS deployment targets,
  • vendored dynamic XCFrameworks,
  • React Native / CocoaPods integration constraints,

additional manual steps are currently required to successfully build and run the app.


Prerequisites

  • macOS with Xcode installed
  • Node.js + Yarn
  • CocoaPods
  • Xcode Command Line Tools

Getting Started

Create and Configure the .env File

Navigate to the example project and create the environment file:

in WebIdMetaPluginReactNative/web-id-meta-plugin/example

cp .env.example .env

Edit the .env file and add your username and API key.

The provided CERT_BASE64 value is preconfigured for the test system and is valid until 2026-02-21. In most cases, this value does not need to be modified if you intend to test against the test environment.

Install pods

in WebIdMetaPluginReactNative/web-id-meta-plugin/example/ios

pod install

Post-install Notes Duplicate PrivacyInfo.xcprivacy

After running pod install, the Xcode project may contain duplicate PrivacyInfo.xcprivacy files.

  • Open the Xcode workspace
  • Remove the duplicate reference from the project navigator

Special Configuration Notes WebIdPayOnServer Dependency Handling

If the WebIdPayOnServer product is included, some of its transitive dependencies currently require manual configuration to avoid build and runtime issues.

iOS Deployment Target Adjustment

In the Pods Xcode project, set the iOS Deployment Target to iOS 13.0 for the following targets:

  • KeychainAccess

  • NVActivityIndicatorView

  • SwiftyJSON

  • XS2AiOS

⚠️ These targets may default to iOS 13.4 and must be adjusted manually.

Reasons:

The React Native version used by this project requires a minimum iOS version of 13.4 The libraries listed above are compiled from source during the Xcode build and therefore inherit the 13.4 minimum The WebID SDK, however, is compiled against iOS 13.0 and expects its dependencies to match this deployment target The example projects Podfile explicitly forces these libraries to be built as dynamic frameworks, as required by the WebID SDK This mismatch otherwise leads to compiler errors or runtime crashes.

Running the App

in WebIdMetaPluginReactNative/web-id-meta-plugin:

yarn prepare

(skip for future runs)

in WebIdMetaPluginReactNative/web-id-meta-plugin/example/ios

yarn ios

Core files to inspect:

  • WebIdMetaPluginReactNative/web-id-meta-plugin/react-native-web-id-meta-plugin.podspec
  • WebIdMetaPluginReactNative/web-id-meta-plugin/example/ios/Podfile
  • WebIdMetaPluginReactNative/web-id-meta-plugin/example/src/App.tsx
  • WebIdMetaPluginReactNative/web-id-meta-plugin/ios/WebIdMetaPlugin.swift