SRGSSR / pillarbox-apple

A next-generation reactive media playback ecosystem for Apple platforms.
https://testflight.apple.com/join/TS6ngLqf
MIT License
51 stars 7 forks source link

iOS / iPadOS / tvOS 18 compatibility #989

Open defagos opened 3 weeks ago

defagos commented 3 weeks ago

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

Upgrade work

Xcode 16 / iOS 18 / iPadOS 18 bugs or regressions

Acceptance criteria

Tasks

defagos commented 3 days ago

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 commented 3 days ago

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

defagos commented 3 days ago

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