Build Information
Successful build of Pipify, reference 0.5.0 (64e24e
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 23:46:26 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/getsidetrack/swiftui-pipify.git
Reference: 0.5.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/getsidetrack/swiftui-pipify
* tag 0.5.0 -> FETCH_HEAD
HEAD is now at 64e24ee Resolve macOS Compilation Error
Cloned https://github.com/getsidetrack/swiftui-pipify.git
Revision (git rev-parse @):
64e24ee19e4caf18cde4e81fb24229999bb2f1d4
SUCCESS checkout https://github.com/getsidetrack/swiftui-pipify.git at 0.5.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/getsidetrack/swiftui-pipify.git
https://github.com/getsidetrack/swiftui-pipify.git
{
"dependencies" : [
],
"manifest_display_name" : "Pipify",
"name" : "Pipify",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0.0"
},
{
"name" : "macos",
"version" : "13.0.0"
},
{
"name" : "tvos",
"version" : "16.0.0"
},
{
"name" : "maccatalyst",
"version" : "16.0.0"
}
],
"products" : [
{
"name" : "Pipify",
"targets" : [
"Pipify"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Pipify",
"module_type" : "SwiftTarget",
"name" : "Pipify",
"path" : "Sources",
"product_memberships" : [
"Pipify"
],
"sources" : [
"LayerView.swift",
"PipifyController.swift",
"PipifyViewModifier.swift",
"View+Buffer.swift",
"View+Changes.swift",
"View+Pipify.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/9] Compiling Pipify View+Changes.swift
[4/9] Compiling Pipify View+Pipify.swift
/Users/admin/builder/spi-builder-workspace/Sources/View+Pipify.swift:53:26: warning: use of 'pipify' treated as a reference to instance method in protocol 'View'
31 | /// - isPresented: A binding to a boolean which determines when the Picture in Picture controller should be presented.
32 | @warn_unqualified_access
33 | func pipify(
| `- note: 'pipify(isPresented:)' declared here
34 | isPresented: Binding<Bool>
35 | ) -> some View {
:
51 | @LibraryContentBuilder
52 | func modifiers(base: any View) -> [LibraryItem] {
53 | LibraryItem(base.pipify(isPresented: $isPresented), title: "Pipify Embedded View")
| |- warning: use of 'pipify' treated as a reference to instance method in protocol 'View'
| `- note: use 'self.' to silence this warning
54 | LibraryItem(base.pipify(isPresented: $isPresented) { Text("Hello, world!") }, title: "Pipify External View")
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+Pipify.swift:54:26: warning: use of 'pipify' treated as a reference to instance method in protocol 'View'
14 | /// - content: A closure which returns the view you wish to present in the Picture in Picture controller.
15 | @warn_unqualified_access
16 | func pipify<PipView: View>(
| `- note: 'pipify(isPresented:content:)' declared here
17 | isPresented: Binding<Bool>,
18 | content: @escaping () -> PipView
:
52 | func modifiers(base: any View) -> [LibraryItem] {
53 | LibraryItem(base.pipify(isPresented: $isPresented), title: "Pipify Embedded View")
54 | LibraryItem(base.pipify(isPresented: $isPresented) { Text("Hello, world!") }, title: "Pipify External View")
| |- warning: use of 'pipify' treated as a reference to instance method in protocol 'View'
| `- note: use 'self.' to silence this warning
55 | }
56 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+Pipify.swift:53:26: warning: call to main actor-isolated instance method 'pipify(isPresented:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
31 | /// - isPresented: A binding to a boolean which determines when the Picture in Picture controller should be presented.
32 | @warn_unqualified_access
33 | func pipify(
| `- note: calls to instance method 'pipify(isPresented:)' from outside of its actor context are implicitly asynchronous
34 | isPresented: Binding<Bool>
35 | ) -> some View {
:
51 | @LibraryContentBuilder
52 | func modifiers(base: any View) -> [LibraryItem] {
53 | LibraryItem(base.pipify(isPresented: $isPresented), title: "Pipify Embedded View")
| `- warning: call to main actor-isolated instance method 'pipify(isPresented:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
54 | LibraryItem(base.pipify(isPresented: $isPresented) { Text("Hello, world!") }, title: "Pipify External View")
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+Pipify.swift:54:26: warning: call to main actor-isolated instance method 'pipify(isPresented:content:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
14 | /// - content: A closure which returns the view you wish to present in the Picture in Picture controller.
15 | @warn_unqualified_access
16 | func pipify<PipView: View>(
| `- note: calls to instance method 'pipify(isPresented:content:)' from outside of its actor context are implicitly asynchronous
17 | isPresented: Binding<Bool>,
18 | content: @escaping () -> PipView
:
52 | func modifiers(base: any View) -> [LibraryItem] {
53 | LibraryItem(base.pipify(isPresented: $isPresented), title: "Pipify Embedded View")
54 | LibraryItem(base.pipify(isPresented: $isPresented) { Text("Hello, world!") }, title: "Pipify External View")
| `- warning: call to main actor-isolated instance method 'pipify(isPresented:content:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
55 | }
56 | }
[5/9] Compiling Pipify PipifyViewModifier.swift
[6/9] Compiling Pipify View+Buffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/View+Buffer.swift:21:9: warning: no 'async' operations occur within 'await' expression
19 | #endif
20 |
21 | await renderer.render { size, callback in
| `- warning: no 'async' operations occur within 'await' expression
22 | let scaledSize = CGSize(width: size.width * scale, height: size.height * scale)
23 |
[7/9] Emitting module Pipify
[8/9] Compiling Pipify LayerView.swift
[9/9] Compiling Pipify PipifyController.swift
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:107:45: warning: non-sendable result type 'CMSampleBuffer' cannot be sent from main actor-isolated context in call to instance method 'makeBuffer(renderer:)'; this is an error in the Swift 6 language mode
105 | Task {
106 | do {
107 | let buffer = try await view.makeBuffer(renderer: renderer)
| `- warning: non-sendable result type 'CMSampleBuffer' cannot be sent from main actor-isolated context in call to instance method 'makeBuffer(renderer:)'; this is an error in the Swift 6 language mode
108 | render(buffer: buffer)
109 | } catch {
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
| `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:156:21: warning: capture of 'self' with non-sendable type 'PipifyController?' in a '@Sendable' closure
9 | import os.log
10 |
11 | public final class PipifyController: NSObject, ObservableObject, AVPictureInPictureControllerDelegate,
| `- note: class 'PipifyController' does not conform to the 'Sendable' protocol
12 | AVPictureInPictureSampleBufferPlaybackDelegate {
13 |
:
154 | logger.info("starting picture in picture")
155 | controller.startPictureInPicture()
156 | self?.pipPossibleObservation = nil
| `- warning: capture of 'self' with non-sendable type 'PipifyController?' in a '@Sendable' closure
157 | }
158 | }
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:105:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
103 |
104 | private func render(view: some View, using renderer: ImageRenderer<some View>) {
105 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
106 | do {
107 | let buffer = try await view.makeBuffer(renderer: renderer)
108 | render(buffer: buffer)
| `- note: closure captures 'self' which is accessible to code in the current task
109 | } catch {
110 | logger.error("failed to create buffer: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:107:45: warning: sending 'renderer' risks causing data races; this is an error in the Swift 6 language mode
105 | Task {
106 | do {
107 | let buffer = try await view.makeBuffer(renderer: renderer)
| |- warning: sending 'renderer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'renderer' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
108 | render(buffer: buffer)
109 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:107:45: warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
105 | Task {
106 | do {
107 | let buffer = try await view.makeBuffer(renderer: renderer)
| |- warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'view' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
108 | render(buffer: buffer)
109 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:213:44: warning: sending 'playing' risks causing data races; this is an error in the Swift 6 language mode
211 | if isPlayPauseEnabled {
212 | DispatchQueue.main.async {
213 | logger.info("setPlaying: \(playing)")
| |- warning: sending 'playing' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'playing' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
214 | self.isPlaying = playing
215 | pictureInPictureController.invalidatePlaybackState()
/Users/admin/builder/spi-builder-workspace/Sources/PipifyController.swift:214:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
212 | DispatchQueue.main.async {
213 | logger.info("setPlaying: \(playing)")
214 | self.isPlaying = playing
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
215 | pictureInPictureController.invalidatePlaybackState()
216 | }
Build complete! (9.63s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Pipify",
"name" : "Pipify",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0.0"
},
{
"name" : "macos",
"version" : "13.0.0"
},
{
"name" : "tvos",
"version" : "16.0.0"
},
{
"name" : "maccatalyst",
"version" : "16.0.0"
}
],
"products" : [
{
"name" : "Pipify",
"targets" : [
"Pipify"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Pipify",
"module_type" : "SwiftTarget",
"name" : "Pipify",
"path" : "Sources",
"product_memberships" : [
"Pipify"
],
"sources" : [
"LayerView.swift",
"PipifyController.swift",
"PipifyViewModifier.swift",
"View+Buffer.swift",
"View+Changes.swift",
"View+Pipify.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.