Build Information
Successful build of glTFSceneKit, reference develop (3a043b), with Swift 6.4 for macOS (SPM) on 21 Sep 2026 04:40:54 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sakrist/glTFSceneKit.git
Reference: develop
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sakrist/glTFSceneKit
* branch develop -> FETCH_HEAD
* [new branch] develop -> origin/develop
HEAD is now at 3a043b4 Update Package.swift
Cloned https://github.com/sakrist/glTFSceneKit.git
Revision (git rev-parse @):
3a043b41c6d253a486f558de7e5a8845184df074
SUCCESS checkout https://github.com/sakrist/glTFSceneKit.git at develop
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/sakrist/glTFSceneKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] glTFSceneKit
[30 / 105]
[33 / 105]
[41 / 105]
[43 / 105]
[44 / 105]
[49 / 105]
[51 / 105]
[53 / 105]
[56 / 105]
[60 / 105]
[63 / 105]
[65 / 105]
[66 / 105]
[76 / 105]
[78 / 105]
[79 / 105]
[81 / 105]
[83 / 105]
[84 / 105]
[85 / 105]
[96 / 105] glTFSceneKit
[97 / 105] glTFSceneKit
[102 / 105] glTFSceneKit
Build complete! (12.15 sec)
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/TextureStorageManager.swift:19:33: [1;33mwarning: [1;39musing 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead[0;0m [#deprecation]
[0;36m17 |[0;0m }
[0;36m18 |[0;0m
[0;36m19 |[0;0m protocol TextureLoaderDelegate: class {
[0;36m|[0;0m `- [1;33mwarning: [1;39musing 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead[0;0m [#deprecation]
[0;36m20 |[0;0m var renderer: SCNSceneRenderer? { get }
[0;36m21 |[0;0m func texturesLoaded()
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:40:25: [1;33mwarning: [1;39mmethod 'scene(_:didCreate:)' with Objective-C selector 'scene:didCreate:' conflicts with previous declaration with the same Objective-C selector; this is an error in the Swift 6 language mode[0;0m
[0;36m37 |[0;0m @objc public protocol SceneLoadingDelegate {
[0;36m38 |[0;0m @objc optional func scene(_ didLoadScene: SCNScene? )
[0;36m39 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate camera: SCNCamera)
[0;36m|[0;0m `- [1;39mnote: [1;39m'scene(_:didCreate:)' previously declared here[0;0m
[0;36m40 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate node: SCNNode)
[0;36m|[0;0m `- [1;33mwarning: [1;39mmethod 'scene(_:didCreate:)' with Objective-C selector 'scene:didCreate:' conflicts with previous declaration with the same Objective-C selector; this is an error in the Swift 6 language mode[0;0m
[0;36m41 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate material: SCNMaterial, for node: SCNNode)
[0;36m42 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/TextureStorageManager.swift:19:33: [1;33mwarning: [1;39musing 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead[0;0m [#deprecation]
[0;36m17 |[0;0m }
[0;36m18 |[0;0m
[0;36m19 |[0;0m protocol TextureLoaderDelegate: class {
[0;36m|[0;0m `- [1;33mwarning: [1;39musing 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead[0;0m [#deprecation]
[0;36m20 |[0;0m var renderer: SCNSceneRenderer? { get }
[0;36m21 |[0;0m func texturesLoaded()
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:40:25: [1;33mwarning: [1;39mmethod 'scene(_:didCreate:)' with Objective-C selector 'scene:didCreate:' conflicts with previous declaration with the same Objective-C selector; this is an error in the Swift 6 language mode[0;0m
[0;36m37 |[0;0m @objc public protocol SceneLoadingDelegate {
[0;36m38 |[0;0m @objc optional func scene(_ didLoadScene: SCNScene? )
[0;36m39 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate camera: SCNCamera)
[0;36m|[0;0m `- [1;39mnote: [1;39m'scene(_:didCreate:)' previously declared here[0;0m
[0;36m40 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate node: SCNNode)
[0;36m|[0;0m `- [1;33mwarning: [1;39mmethod 'scene(_:didCreate:)' with Objective-C selector 'scene:didCreate:' conflicts with previous declaration with the same Objective-C selector; this is an error in the Swift 6 language mode[0;0m
[0;36m41 |[0;0m @objc optional func scene(_ scene: SCNScene?, didCreate material: SCNMaterial, for node: SCNNode)
[0;36m42 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:54:58: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m52 |[0;0m public var loader: GLTFResourceLoader {
[0;36m53 |[0;0m get {
[0;36m54 |[0;0m var loader_ = objc_getAssociatedObject(self, &Keys.resource_loader) as? GLTFResourceLoader
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m55 |[0;0m if loader_ != nil {
[0;36m56 |[0;0m return loader_!
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:62:46: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m60 |[0;0m return loader_!
[0;36m61 |[0;0m }
[0;36m62 |[0;0m set { objc_setAssociatedObject(self, &Keys.resource_loader, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m63 |[0;0m }
[0;36m64 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:67:54: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m65 |[0;0m /// Status set to true if `cancel` been call.
[0;36m66 |[0;0m @objc open private(set) var isCancelled: Bool {
[0;36m67 |[0;0m get { return (objc_getAssociatedObject(self, &Keys.load_canceled) as? Bool) ?? false }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m68 |[0;0m set { objc_setAssociatedObject(self, &Keys.load_canceled, newValue, .OBJC_ASSOCIATION_ASSIGN) }
[0;36m69 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:68:46: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m66 |[0;0m @objc open private(set) var isCancelled: Bool {
[0;36m67 |[0;0m get { return (objc_getAssociatedObject(self, &Keys.load_canceled) as? Bool) ?? false }
[0;36m68 |[0;0m set { objc_setAssociatedObject(self, &Keys.load_canceled, newValue, .OBJC_ASSOCIATION_ASSIGN) }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m69 |[0;0m }
[0;36m70 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:142:53: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m140 |[0;0m
[0;36m141 |[0;0m public var data: Data? {
[0;36m142 |[0;0m get { return objc_getAssociatedObject(self, &GLTFBuffer.data_associate_key) as? Data }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m143 |[0;0m set { objc_setAssociatedObject(self, &GLTFBuffer.data_associate_key, newValue, .OBJC_ASSOCIATION_RETAIN) }
[0;36m144 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:143:46: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m141 |[0;0m public var data: Data? {
[0;36m142 |[0;0m get { return objc_getAssociatedObject(self, &GLTFBuffer.data_associate_key) as? Data }
[0;36m143 |[0;0m set { objc_setAssociatedObject(self, &GLTFBuffer.data_associate_key, newValue, .OBJC_ASSOCIATION_RETAIN) }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m144 |[0;0m }
[0;36m145 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:152:53: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m150 |[0;0m
[0;36m151 |[0;0m public var image: OSImage? {
[0;36m152 |[0;0m get { return objc_getAssociatedObject(self, &GLTFImage.image_associate_key) as? OSImage }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m153 |[0;0m set { objc_setAssociatedObject(self, &GLTFImage.image_associate_key, newValue, .OBJC_ASSOCIATION_RETAIN) }
[0;36m154 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/glTFSceneKit/GLTF+SceneKit.swift:153:46: [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m151 |[0;0m public var image: OSImage? {
[0;36m152 |[0;0m get { return objc_getAssociatedObject(self, &GLTFImage.image_associate_key) as? OSImage }
[0;36m153 |[0;0m set { objc_setAssociatedObject(self, &GLTFImage.image_associate_key, newValue, .OBJC_ASSOCIATION_RETAIN) }
[0;36m|[0;0m `- [1;33mwarning: [1;39mforming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.[0;0m
[0;36m154 |[0;0m }
[0;36m155 |[0;0m }
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "glTFSceneKit",
"name" : "glTFSceneKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "10.0"
}
],
"products" : [
{
"name" : "glTFSceneKit",
"targets" : [
"glTFSceneKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "glTFSceneKitTests",
"module_type" : "SwiftTarget",
"name" : "glTFSceneKitTests",
"path" : "Tests/glTFSceneKitTests",
"sources" : [
"gltf_scenekitTests.swift"
],
"target_dependencies" : [
"glTFSceneKit"
],
"type" : "test"
},
{
"c99name" : "glTFSceneKit",
"module_type" : "SwiftTarget",
"name" : "glTFSceneKit",
"path" : "Sources/glTFSceneKit",
"product_memberships" : [
"glTFSceneKit"
],
"sources" : [
"GLTF+Animation.swift",
"GLTF+CompressedTexture.swift",
"GLTF+Draco.swift",
"GLTF+Material.swift",
"GLTF+SceneKit.swift",
"GLTF/GLTF.swift",
"GLTF/GLTFAccessor.swift",
"GLTF/GLTFAccessorSparse.swift",
"GLTF/GLTFAccessorSparseIndices.swift",
"GLTF/GLTFAccessorSparseValues.swift",
"GLTF/GLTFAnimation.swift",
"GLTF/GLTFAnimationChannel.swift",
"GLTF/GLTFAnimationChannelTarget.swift",
"GLTF/GLTFAnimationSampler.swift",
"GLTF/GLTFAsset.swift",
"GLTF/GLTFBuffer.swift",
"GLTF/GLTFBufferView.swift",
"GLTF/GLTFCamera.swift",
"GLTF/GLTFCameraOrthographic.swift",
"GLTF/GLTFCameraPerspective.swift",
"GLTF/GLTFImage.swift",
"GLTF/GLTFKHRDracoMeshCompressionExtension.swift",
"GLTF/GLTFMaterial.swift",
"GLTF/GLTFMaterialNormalTextureInfo.swift",
"GLTF/GLTFMaterialOcclusionTextureInfo.swift",
"GLTF/GLTFMaterialPBRMetallicRoughness.swift",
"GLTF/GLTFMesh.swift",
"GLTF/GLTFMeshPrimitive.swift",
"GLTF/GLTFNode.swift",
"GLTF/GLTFSampler.swift",
"GLTF/GLTFScene.swift",
"GLTF/GLTFSkin.swift",
"GLTF/GLTFTexture.swift",
"GLTF/GLTFTextureInfo.swift",
"GLTF/JSONCodingKeys.swift",
"GLTFConverter+Geometry.swift",
"GLTFConverter.swift",
"GLTFResourceLoader.swift",
"GLTF_3D4MCompressedTextureExtension.swift",
"Helper.swift",
"TextureStorageManager.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.