feat(mobile): share intent support
Description
PR Type
- [ ] Feature
- [ ] Bugfix
- [ ] Hotfix
- [ ] Other (please describe):
Screenshots (if UI change)
Demo Video (if new feature)
https://github.com/user-attachments/assets/f0de3752-0380-49c9-84d6-0a5177b9440b
Linked Issues
- https://github.com/achorein/expo-share-intent/issues/148
- https://github.com/achorein/expo-share-intent/issues/149
Additional context
Changelog
- [ ] I have updated the changelog/next.md with my changes.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| follow | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jul 8, 2025 1:31pm |
1 Skipped Deployment
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| follow-external-ssr | ⬜️ Ignored (Inspect) | Visit Preview | Jul 8, 2025 1:31pm |
Suggested PR Title:
feat(ios): add Share Extension for receiving web and media
Change Summary: This PR introduces a native iOS Share Extension to the mobile app, allowing users to share web URLs, text, images, videos, PDFs, and other files directly into the app. Key changes include:
- Addition of a Share Extension target and related files (Swift controller, storyboard, entitlements, javascript preprocessor, plist/configs).
- Integration of the expo-share-intent package and registration in app config and package.json.
- App Group configuration for seamless data sharing between host and extension.
- Updates to React hooks and Discover module to launch search flows from shared content.
- Minor fixes and enhancements to navigation, state management, and search UI to support incoming intent/share payloads.
- Patch added for Xcode project compatibility.
Impact: Users can now share content from other apps into this app via the native iOS share sheet, improving discoverability and user engagement.
Code Review: No change requests necessary.
The effect of jumping to the app during the sharing process is not good, and it should use a floating ViewController to operate on the upper layer of the current app.