Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS / iPadOS / tvOS 18 compatibility #989

Open
1 of 6 tasks
defagos opened this issue Aug 26, 2024 · 3 comments
Open
1 of 6 tasks

iOS / iPadOS / tvOS 18 compatibility #989

defagos opened this issue Aug 26, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@defagos
Copy link
Member

defagos commented Aug 26, 2024

As a developer I need Pillarbox to be compatible with new major versions of Apple operating systems.

Hints

Here is a list of the issues we noticed and of work that needs to be done.

Fixes on our side

  • ✅ Version plugin: Deprecation errors if package version set to 6.0.

Upgrade work

Xcode 16 / iOS 18 / iPadOS 18 bugs or regressions

  • DocC warnings (some symbols not found, working correctly with Xcode 15).
  • High-speed gesture not working: System gesture gate timed out is logged to the console.
  • 🤔 Settings picker is incorrectly displayed as toolbarTitleMenu at the root level of the Lists section (iPadOS 18: New tab bar presentation and inline navigation title / toolbar title menus do not work well together filed under FB14924375).
  • ✅ Startup time incorrect after seeking (✅ local / ✅ AirPlay)
  • Playback fails very fast if buffer gets empty (e.g. start playback and enable airplane mode immediately)
  • Podcastator: Speed / Timer menus do not open anymore when player displayed as a sheet.

Acceptance criteria

  • Pillarbox is compatible with iOS / iPadOS / tvOS 18.
  • Issues which cannot be fixed on our side have been reported.
  • The project builds with Xcode 16.

Tasks

  • Update Xcode project to synced folders.
  • Fix high-speed gesture.
  • Fix settings combo.
  • Fix speed / timer menus in Podcastator.
  • Document unresolved issues under known issues if appropriate.
  • Fix compilation warnings.
@defagos defagos added the enhancement New feature or request label Aug 26, 2024
@defagos defagos changed the title iOS 18 compatibility iOS / iPadOS / tvOS 18 compatibility Aug 26, 2024
@defagos
Copy link
Member Author

defagos commented Sep 16, 2024

Though we won't update the Swift Package version to 6.0 yet here is here is the required change:

import Foundation
import PackagePlugin

@main
struct PackageInfoPlugin: BuildToolPlugin {
    func createBuildCommands(context: PackagePlugin.PluginContext, target: PackagePlugin.Target) async throws -> [PackagePlugin.Command] {
        [
            .prebuildCommand(
                displayName: "Provide package information as a generated Swift file",
                executable: try context.tool(named: "PackageInfo").url,
                arguments: [
                    context.package.directoryURL.path(),
                    context.pluginWorkDirectoryURL.path()
                ],
                outputFilesDirectory: context.pluginWorkDirectoryURL
            )
        ]
    }
}

See #908.

@defagos
Copy link
Member Author

defagos commented Sep 16, 2024

The Xcode project cannot be updated to synced folders since they are not supported by xcodeproj / fastlane yet, see #988.

@defagos
Copy link
Member Author

defagos commented Sep 16, 2024

The long-press issue is a known and has been reported. Quite incredible that this kind of regression could sneak in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant