Repository navigation
ref(examples): Merge SwiftPM apps using XcodeGen - #466
Merged
Merged
Conversation
philprime
marked this pull request as ready for review
October 11, 2026 16:42
philprime
enabled auto-merge (squash)
October 11, 2026 16:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the separate iOS and macOS SwiftPM examples with one Example-SPM app covering every platform supported by TPPDF. Share the example factories, resources, local package dependency, and SwiftUI interface. Display PDFs through PDFKit on iOS, macOS, Mac Catalyst, tvOS, and visionOS; watchOS reports generation success or errors without a viewer.
Maintain the app through an XcodeGen specification, with the generated project ignored. Add XcodeGen to the Brewfile and Makefile targets for generation and all six platform builds. Update the example instructions accordingly.
Compatibility
The example targets iOS/Mac Catalyst 16+, macOS 12+, tvOS 16+, visionOS 1+, and watchOS 9+. Library deployment targets and Carthage files are unchanged. tvOS and watchOS use stack navigation, with scrollable generation controls on watchOS.
Verification
All six
make build-example-spm-<platform>targets passed. Launched and inspected the app on macOS and iPhone, iPad, tvOS, visionOS, and watchOS simulators. Confirmed macOS PDF output and inspected the default PDF preview on iPad and visionOS.Focused macOS generation tests and
make test-macospassed with 243 unit tests and 21 integration tests.make test-watchos WATCHOS_SIMULATOR_OS=27.0 WATCHOS_DEVICE_NAME='Apple Watch Series 12 (46mm)'passed with 236 tests, including PDF data/file generation. Lint, whitespace checks, and commit hooks passed. The package testing flag is restored to disabled.Existing PDFError Sendable warnings, Xcode/App Intents diagnostics, and invalid-PDF CoreGraphics diagnostics remain. Physical devices and exhaustive navigation/PDF interactions were not tested.
This branch started independently from freshly fetched origin/main and does not include the CocoaPods, package-testing, or Carthage cleanup changes.