You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a developer integrating Pillarbox in a UIKit-based app I want to be able to add PiP support, as for SwiftUI-based application.
Acceptance criteria
An API is available for UIKit integration.
A UIKit-based sample app successfully implementing PiP is available.
Tasks
Produce UIKit-based sample app.
Improve the in-app PiP registration mechanism so that a single method call can be used to setup restoration / cleanup in a view controller (swizzling).
Enhance the API to support basic UIKit integration if needed.
Enhance the API to support advanced UIKit integration (dismissal / restoration).
Provide useful state information for use in UIKit (state publisher? KVO support?).
Decide whether the sample project should be part of the Pillarbox project (separate demo).
If yes update the CI to archive this project as well.
The text was updated successfully, but these errors were encountered:
No need for a specific UIKit life cycle, the API is the same and can be used in a UIKit-based router in the same way.
No state information needs to be published, see Hide controls when animating in and out of PiP #626. The recommendation is to use SwiftUI for player design, even if this view is then embedded into a UIKit view or view hierarchy.
No need for a dedicated sample project, would be superfluous.
We reused the UIKit example implemented in #605 and updated it successfully. It works fine with the existing modifuer, thus without the need for a dedicated API. This of course supposes that the player is implemented in SwiftUI, but this is the best way to create a player UI and wrapping into UIKit code is easy with UIHostingController.
For this reason no special UIKit API is required and no dirty tricks like swizzling to be considered. In fact we can hide methods which were initially made public but which are not helpful anymore.
As a developer integrating Pillarbox in a UIKit-based app I want to be able to add PiP support, as for SwiftUI-based application.
Acceptance criteria
Tasks
Improve the in-app PiP registration mechanism so that a single method call can be used to setup restoration / cleanup in a view controller (swizzling).Enhance the API to support basic UIKit integration if needed.Enhance the API to support advanced UIKit integration (dismissal / restoration).Provide useful state information for use in UIKit (state publisher? KVO support?).Decide whether the sample project should be part of the Pillarbox project (separate demo).If yes update the CI to archive this project as well.The text was updated successfully, but these errors were encountered: