Skip to content

autumncry/ScrollStitch

Repository files navigation

ScrollStitch

ScrollStitch is an open-source iPhone app for turning a scrolling screen recording into a long screenshot. The app defaults to Simplified Chinese and can switch to English in Settings.

Primary workflow:

  1. Use iOS Screen Recording while scrolling the target page.
  2. Choose the recording in ScrollStitch.
  3. Let ScrollStitch extract useful frames, remove duplicates, match overlaps, and render one long screenshot.
  4. Review, crop, adjust seams, then save or export PNG/PDF.

The app also keeps a local manual workflow for importing several overlapping screenshots from Photos and stitching them automatically.

The app is built with SwiftUI, WebKit, PhotosUI, AVFoundation, Photos, and UIKit/CoreGraphics. Capture and media processing run locally, and the project is intended to be deployable with a personal Apple Developer team from Xcode.

Features

  • Native SwiftUI interface for iPhone, with Simplified Chinese by default and English as an in-app option.
  • Screen-recording import for scrolling captures from any app that the user records with iOS Screen Recording.
  • Useful-frame extraction and duplicate-frame removal.
  • Vertical overlap detection, seam planning, and duplicate-region removal.
  • Review tools for top and bottom crop plus seam adjustment.
  • Screenshot picker for importing overlapping screenshots in order.
  • Adjustable overlap, match tolerance, frame interval, frame count, and duplicate threshold settings.
  • Long-image preview, Photos save, PNG share, and PDF export.
  • Local-only media processing.

iOS Capture Boundary

ScrollStitch stays inside public iOS APIs. It does not auto-scroll, control, or silently capture pixels from other apps.

For content outside ScrollStitch, use one of these App Store-safe workflows:

  1. Use iOS Screen Recording while scrolling the target content, stop recording, then import the video from Photos.
  2. Take multiple screenshots and import them manually.

This is the closest public-API equivalent to a global long screenshot workflow on iPhone. A third-party app cannot implement the exact native screenshot trigger that captures and automatically scrolls any other app to the bottom without private APIs, jailbreak-only behavior, or device-management/assistive-control privileges outside a normal open-source App Store-safe app.

Requirements

  • Xcode 26.5 or newer
  • iOS 17.0 or newer
  • XcodeGen 2.43 or newer
  • A personal Apple Developer team for installing on a physical iPhone

Generate The Xcode Project

xcodegen generate

Build And Test

xcodebuild -project ScrollStitch.xcodeproj -scheme ScrollStitch -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max' test
xcodebuild -project ScrollStitch.xcodeproj -scheme ScrollStitch -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max' build

Install On Your iPhone

  1. Open ScrollStitch.xcodeproj after running xcodegen generate.
  2. Select the ScrollStitch target.
  3. Set Team to your Apple Developer team.
  4. Keep the bundle identifier unique, for example com.yourname.ScrollStitch.
  5. Connect your iPhone, choose it as the run destination, then press Run.

The checked-in project configuration uses development team 5SR2B93233, matching the local Apple Development certificate that was available when this project was created. Change it in Xcode or project.yml if needed.

Demo Media

Generate two overlapping PNG screenshots for quick manual testing:

python3 Scripts/make_demo_media.py

The generated files land in DemoMedia/.

Design

Privacy

ScrollStitch processes imported screenshots and videos on device. Media is only read when explicitly selected.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages