docs(ios): document v6 removal of *View factories + ply/products/ply/plans deeplinks#16
Open
kherembourg wants to merge 2 commits into
Open
docs(ios): document v6 removal of *View factories + ply/products/ply/plans deeplinks#16kherembourg wants to merge 2 commits into
kherembourg wants to merge 2 commits into
Conversation
…plans deeplinks The iOS SDK removed the SwiftUI embedded-view factories (productView/planView/presentationView) and the ply/products/* & ply/plans/* deeplink formats. Reflect both across the iOS references and the skills: - references/ios/migration-v6.md: summary-table rows, §3/§5 method lists, a new "product/plan deeplinks removed" subsection, checklist items, and the verify grep. - references/ios/v5-api-reference.md: recognition tokens, a SwiftUI-factory removal entry, and a deeplink-format removal entry. - purchasely-migrate: iOS recognition tokens + embedded-UI / deeplink steps. - purchasely-review: removed-API pattern lists + the "no removed APIs" check (now lists the full *View/*Controller families and the removed deeplink formats; dropped the bogus `presentationViewControllerFor`). - purchasely-sdk-expert: removed-API list. - CHANGELOG: Unreleased entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Greptile encountered an error while reviewing this PR. Please reach out to support@greptile.com for assistance. |
iOS v6 renamed setDefaultPresentationResultHandler { result, plan in } to
setDefaultPresentationDismissHandler { outcome in } (delivers
PLYPresentationOutcome, mutually exclusive with per-presentation onDismissed).
- references/ios/api-reference.md: documented the OLD name as a valid v6 API —
rewritten to the renamed handler + PLYPresentationOutcome.
- references/ios/v5-api-reference.md: it was listed under "unchanged in v6" —
moved to a renamed entry.
- purchasely-migrate: added the rename to the iOS grep tokens + step 9.
- purchasely-review / purchasely-debug: handler checks now name the iOS v6
method.
Platform-aware: Android v6 KEEPS the name setDefaultPresentationResultHandler
and only changes the callback to a single `outcome`, so the cross-platform
skills no longer imply the iOS rename applies to Android.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What & why
The iOS SDK (PR #653) removed two more surfaces on the way to v6:
Purchasely.productView(...)/planView(...)/presentationView(...)(the SwiftUI counterpart to the already-removed UIKit*Controllerfactories), which still carried the legacy(PLYProductViewControllerResult, PLYPlan?)completion block.ply/products/*andply/plans/*deeplink formats (and the internalproductControllerfactory that served them).This PR updates the plugin's iOS references and skills so they recognize, flag, and migrate both.
Changes
references/ios/migration-v6.md— summary-table rows for the*Viewfactories and the removed deeplinks; §3 / §5 now name the SwiftUI factories alongside the UIKit ones; a new "Product / plan deeplinks removed (breaking)" subsection; two checklist items; the verify-grep gainsproductController|planController|productView|planView|presentationView|ply/products|ply/plans.references/ios/v5-api-reference.md— recognition tokens, a SwiftUI-factory removal entry, and a deeplink-format removal entry.purchasely-migrate— iOS recognition tokens + the embedded-UI / deeplinks steps.purchasely-review— removed-API pattern lists and the "No removed / deprecated APIs" check now list the full*View/*Controllerfamilies and the removed deeplink formats. Also dropped the non-existentpresentationViewControllerFortoken.purchasely-sdk-expert— removed-API list.CHANGELOG.md—[Unreleased]entry.Replacement guidance documented
productView/planView/presentationViewPLYPresentationBuilder.…build().preload { … }→presentation.swiftUIViewply/products/*/ply/plans/*ply/presentations/<id>orply/placements/<id>Verification
node scripts/guard-known-bad-snippets.mjs→ passed.references/ios/api-reference.md(0 hits).🤖 Generated with Claude Code
Also in this PR — fix the iOS default presentation handler
iOS v6 renamed
setDefaultPresentationResultHandler { result, plan in }→setDefaultPresentationDismissHandler { outcome in }(now deliversPLYPresentationOutcome, mutually exclusive with per-presentationonDismissed). The plugin still documented the old name as a valid v6 API (references/ios/api-reference.md) and listed it under "unchanged in v6" (references/ios/v5-api-reference.md). Fixed both, plus thepurchasely-migrate/purchasely-review/purchasely-debugskills.Platform-aware: Android v6 keeps the
setDefaultPresentationResultHandlername and only changes the callback to a singleoutcome(verified againstAndroid/MIGRATION_V6.md), so the cross-platform skills no longer imply the iOS rename applies to Android.setDefaultPresentationDismissHandler { outcome in }(renamed)setDefaultPresentationResultHandler { outcome -> }(name kept, callback now singleoutcome)