Expo Demo: Screen Capture with Managed Workflow

Overview

Expo Demo: Screen Capture with Managed Workflow

This code demonstrates how to setup screen capture on an Expo app, without having to eject from the managed workflow.

Since screen capture requires significant native changes (mostly on iOS side), this example shows how this can be achieved via Expo Plugins.

State

  • Android:
  • iOS:

For iOS you currently get a red screen instead of the expected hall-of-mirrors. This is due to an issue that has now been reported here.

Build and Run the App

  • Clone this repo and cd into it
  • Install dependencies (this will also build plugins): yarn
  • Generate native projects: npx expo prebuild
  • Run native project: npx expo run:android -d (or ios)

Notes

  • This won't work on a simulator

References

Comments
  • fix(deps): update expo monorepo (major)

    fix(deps): update expo monorepo (major)

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | expo (source) | ~46.0.8 -> ~47.0.0 | age | adoption | passing | confidence | | expo-module-scripts (source) | ^2.1.1 -> ^3.0.0 | age | adoption | passing | confidence |


    Release Notes

    expo/expo (expo)

    v47.0.10

    Compare Source

    v47.0.9

    Compare Source

    v47.0.8

    Compare Source

    v47.0.7

    Compare Source

    v47.0.6

    Compare Source

    v47.0.5

    Compare Source

    v47.0.4

    Compare Source

    v47.0.3

    Compare Source

    v47.0.2

    Compare Source

    v47.0.1

    Compare Source

    This version does not introduce any user-facing changes.

    v47.0.0

    Compare Source

    🐛 Bug fixes
    • Showing warnings for missing native modules rather than throwing errors. (#​19845 by @​kudo)
    • Fixed crashes when running on react-native-v8 runtime. (#​19843 by @​kudo)
    • Fixed build errors when testing on React Native nightly builds. (#​19805 by @​kudo)

    v46.0.19

    Compare Source

    v46.0.18

    Compare Source

    v46.0.17

    Compare Source

    expo/expo (expo-module-scripts)

    v3.0.4

    Compare Source

    v3.0.3

    Compare Source

    This version does not introduce any user-facing changes.

    v3.0.2

    Compare Source

    💡 Others
    • Remove Enzyme plugin - it does not work with React 18. Not considered a breaking change because the Enzyme plugin has never worked with React 18 and so is already broken. (#​19777 by @​brentvatne)

    v3.0.1

    Compare Source

    This version does not introduce any user-facing changes.

    v3.0.0

    Compare Source

    🛠 Breaking changes
    💡 Others
    • Use the correct TSConfig package in dependencies to match one referred in tsconfig.plugin.json. (#​19670 by @​Simek)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency react-native-webrtc to v106

    fix(deps): update dependency react-native-webrtc to v106

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react-native-webrtc | ^1.100.1 -> ^106.0.0 | age | adoption | passing | confidence |


    Release Notes

    react-native-webrtc/react-native-webrtc

    v106.0.1

    Compare Source

    Full Changelog: https://github.com/react-native-webrtc/react-native-webrtc/compare/106.0.0...106.0.1

    v106.0.0

    Compare Source

    Major changes

    Fully migrated to Unified Plan (please read: https://react-native-webrtc.discourse.group/t/announcing-react-native-webrtc-106-beta-with-unified-plan-support/1625). Plan B is no longer supported.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency @notifee/react-native to v7

    fix(deps): update dependency @notifee/react-native to v7

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @notifee/react-native | ^5.6.0 -> ^7.0.0 | age | adoption | passing | confidence |


    Release Notes

    invertase/notifee

    v7.3.0

    Compare Source

    release notes: [Android]: Fixes an issue for Android 11 and lower to ensure notification drawer is closed when a quick action is pressed. (Fixeshttps://github.com/invertase/notifee/issues/6144). [Android]: Fixes an issue where the initial notification was not set if the app opened via a quick action (Phttps://github.com/invertase/notifee/pull/60505).

    v7.2.0

    Compare Source

    release notes:

    v7.1.0

    Compare Source

    Supports communication notifications on iOS (release notes)

    v7.0.4

    Compare Source

    https://github.com/invertase/notifee/releases

    v7.0.3

    Compare Source

    https://github.com/invertase/notifee/releases

    v7.0.2

    Compare Source

    v7.0.1

    Compare Source

    v7.0.0

    Compare Source

    https://github.com/invertase/notifee/releases

    v6.0.0

    Compare Source

    https://github.com/invertase/notifee/releases


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency @config-plugins/react-native-webrtc to v5

    fix(deps): update dependency @config-plugins/react-native-webrtc to v5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @config-plugins/react-native-webrtc | ^4.0.0 -> ^5.0.0 | age | adoption | passing | confidence |


    Release Notes

    expo/config-plugins

    v5.0.0

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update react monorepo to v18.2.0

    fix(deps): update react monorepo to v18.2.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react (source) | 18.0.0 -> 18.2.0 | age | adoption | passing | confidence | | react-dom (source) | 18.0.0 -> 18.2.0 | age | adoption | passing | confidence |


    Release Notes

    facebook/react

    v18.2.0

    Compare Source

    React DOM
    React DOM Server
    Server Components (Experimental)

    v18.1.0

    Compare Source

    React DOM
    React DOM Server
    ESLint Plugin: React Hooks
    Use Subscription

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency react-native to v0.70.6

    fix(deps): update dependency react-native to v0.70.6

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react-native (changelog) | 0.69.6 -> 0.70.6 | age | adoption | passing | confidence | | @types/react-native (source) | ~0.69.1 -> ~0.70.0 | age | adoption | passing | confidence |


    Release Notes

    facebook/react-native

    v0.70.6: 0.70.6

    Compare Source

    Fixed
    Changed
    iOS specific

    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.5: 0.70.5

    Compare Source

    Hotfix

    This version is a patch release addressing the Android build issue that has been ongoing since Nov 4th 2022. If you are on 0.70.x, update to this version to fix it.

    If you are on an older version of React Native, refer to this issue for details and the workaround you can apply in your project.


    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.4: 0.70.4

    Compare Source

    Changed
    Fixed
    iOS specific

    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.3: 0.70.3

    Compare Source

    Fixed
    • Stop styles from being reset when detaching Animated.Values in old renderer (2f58e52006 by @​javache)
    • Revert "Fix TextInput dropping text when used as uncontrolled component with defaultValue" to fix TextInputs not being settable to undefined programmatically (e2645a5) by Garrett Forbes Monroe
    Android specific
    iOS specific
    • Add xcode 14 workaround (turn off signing resource bundles) for React-Core (967de03f30 by @​kelset)

    You can participate in the conversation on the status of this release in this discussion.


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.2: 0.70.2

    Compare Source

    Added
    iOS specific
    Changed
    Fixed
    Android specific
    • Fix port as -1 if dev server without specifying port on Android (3d7e1380b4 by @​Kudo)

    You can participate in the conversation on the status of this release in this discussion.


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.1: 0.70.1

    Compare Source

    Added
    Changed
    Fixed
    Android specific
    iOS specific

    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.70.0: 0.70.0

    Compare Source

    0.70 stable is out!

    This release includes 493 commits with 88 contributors! Thank you to all our contributors new and old! See the highlights of the release in our release blog post.


    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.

    v0.69.7: 0.69.7

    Compare Source

    Hotfix

    This version is a patch release addressing the Android build issue that has been ongoing since Nov 4th 2022. If you are on 0.69.x, update to this version to fix it.

    If you are on an older version of React Native, refer to this issue for details and the workaround you can apply in your project.


    You can participate in the conversation on the status of this release in this discussion


    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history in the changelog.md file.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • package.json (npm)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation.
    • If Renovate detects semantic commits, it will use semantic commit type fix for dependencies and chore for all others.
    • Ignore node_modules, bower_components, vendor and various test/tests directories.
    • Autodetect whether to pin dependencies or maintain ranges.
    • Rate limit PR creation to a maximum of two per hour.
    • Limit to maximum 10 open PRs at any time.
    • Group known monorepo packages together.
    • Use curated list of recommended non-monorepo package groupings.
    • A collection of workarounds for known problems with packages.

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 6 Pull Requests:

    fix(deps): update dependency react-native to v0.70.6
    fix(deps): update react monorepo to v18.2.0
    • Schedule: ["at any time"]
    • Branch name: renovate/react-monorepo
    • Merge into: main
    • Upgrade react to 18.2.0
    • Upgrade react-dom to 18.2.0
    fix(deps): update dependency @config-plugins/react-native-webrtc to v5
    fix(deps): update dependency @​notifee/react-native to v7
    • Schedule: ["at any time"]
    • Branch name: renovate/notifee-react-native-7.x
    • Merge into: main
    • Upgrade @notifee/react-native to ^7.0.0
    fix(deps): update dependency react-native-webrtc to v106
    • Schedule: ["at any time"]
    • Branch name: renovate/react-native-webrtc-106.x
    • Merge into: main
    • Upgrade react-native-webrtc to ^106.0.0
    fix(deps): update expo monorepo (major)
    • Schedule: ["at any time"]
    • Branch name: renovate/major-expo-monorepo
    • Merge into: main
    • Upgrade expo to ~47.0.0
    • Upgrade expo-module-scripts to ^3.0.0

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    npm
    package.json
    • @config-plugins/react-native-webrtc ^5.0.0
    • @notifee/react-native ^7.0.0
    • expo ~47.0.0
    • expo-build-properties ~0.4.1
    • expo-status-bar ~1.4.2
    • nativewind ^2.0.11
    • react 18.1.0
    • react-dom 18.1.0
    • react-native 0.70.5
    • react-native-is-screen-captured-ios ^0.1.0
    • react-native-web ~0.18.7
    • react-native-webrtc ^106.0.0
    • @babel/core ^7.19.3
    • @types/react ~18.0.24
    • @types/react-native ~0.70.6
    • copyfiles ^2.4.1
    • expo-module-scripts ^3.0.0
    • tailwindcss ^3.1.8
    • typescript ^4.6.3

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Owner
Luis Taniça
Luis Taniça
Expo Config Plugin that generates an App Clip for iOS apps built with Expo.

react-native-app-clip Expo Config Plugin that generates an App Clip for iOS apps built with Expo. Warning This plugin is a work in progress and hasn’t

Benedikt 186 Dec 24, 2022
Boilerplate to build Cross-Platform Apps with Expo and React Native

Expo and React Native Boilerplate Boilerplate to build Cross-Platform Apps with Expo and React Native What are you going to find in this boilerplate E

José Ferrer 26 Apr 29, 2022
React Native & Expo music player application UI

Would you like to support me? Musicont React Native & Expo music player application UI Demo: https://expo.io/@jsxclan/musicont APK: Download on Google

JSX Clan 82 Dec 14, 2022
Our Expo-based mobile application for demonstration purposes.

Capable Care reference implementation This repository provides a working example of a React Native mobile application (built on Expo) integrating Capa

Capable Health 11 Oct 1, 2022
A simple example on how to get WalletConnect to authenticate wallets in the Expo Go app.

WalletConnect Example on Expo This is a simple example how to get WalletConnect up and running with Expo for React Native. WalletConnect's dependency

Carlos A. Wong 60 Dec 30, 2022
Tamagui with Supabase, Expo, Next.js, Solito and Jotai

Tamagui + Supabase + Solito + Next + Expo Monorepo ⚡️ Instant clone & deploy ?? About This monorepo is a starter todo app, built using Supabase + Expo

Lachlan Hawthorne 15 Dec 12, 2022
Convert a CSS linear gradient function to expo-linear-gradient props

@bacons/css-to-expo-linear-gradient Demo: snack Convert a CSS linear gradient function to expo-linear-gradient props. Add the package to your npm depe

Evan Bacon 15 Dec 15, 2022
An easy hook to use with expo-calendar library!

useCalendar Hook ?? Updated to Expo SDK45 This is an easy hook to use expo-calendar. It allows you: Get access permission to calendar Open settings to

AtilaDev 12 Nov 1, 2022
A lite version for the my original app loki stream which allowed watching anime on your phone. Made using expo.

LokiStream Lite A lite version for the my original app loki stream. This app is faster, smaller and more optimized for your phone. It allows you to wa

Lavish Kumar 18 Dec 24, 2022
A new renovated version of Directory to search @expo-google-fonts

Directory | AtilaDev Directory is an easy & quick search to find google fonts using @expo-google-fonts for your React Native App. Usage Press / key to

Leandro Favre 2 Oct 5, 2022
Capture a famous phrase, download it without hassle and share it with your friends. 🎉

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Abraham Calsin 2 Mar 8, 2022
An application to capture the 10 most watched movies/series on netflix.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Guilherme Stein Kuhn 3 Feb 6, 2022
null 136 Dec 30, 2022
A simple stepper provides a wizard-like workflow by dividing content into logical steps.

react-basic-stepper A simple stepper provides a wizard-like workflow by dividing content into logical steps. Install npm install --save react-basic-st

Jose Alejandro Concepción Álvarez 3 May 2, 2022
Eisen Matrix - a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built with React Native

Eisen Matrix is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built with React Native for learning purposes inspired by Einsen which is written in Kotlin.

Nafees Nazik 11 Nov 28, 2022
Provide solutions to make your app flexible for different screen sizes, different devices.

react-native-size-scaling Provide solutions to make your app flexible for different screen sizes, different devices, based on your device's pixel rati

Hoà Phan 33 Dec 23, 2022
A Google Clone which built with ReactJS. You can click the demo and search whatever you want!

Google Clone with ReactJS A small web app that imitate the desktop web version of google site, you can search whatever you want. Google Clone Demo Lin

Özge Coşkun Gürsucu 36 Aug 14, 2022
A Chrome T-Rex game remake using javascript and threejs. Online demo: https://rossning92.github.io/t-rex

T-Rex Game in 3D A Chrome T-rex game remake using javascript and threejs. Build the code Make sure you have node 12+ installed: https://nodejs.org/en/

null 79 Dec 29, 2022
Demo site build in Umbraco v.9.0.0-beta004 and .NET Core 5.0

Umbraco v9 Demo Demo site build in Umbraco v.9.0.0-beta004 and .NET Core 5.0. About this solution: This is a demo site for Umbraco v9 build in the new

Dennis Adolfi 61 Dec 18, 2022