95978


Unity&MacOSでクリップボードに画像をコピーするネイティブプラグインを作成しようとしているのですが、Swiftの書き方がさっぱりで助けてください。

XCodeでbundleのプロジェクトを作成し、

[code]

    import Foundation
    import SwiftUI
    
    @_cdecl("SetImagePasteboard")
    public func SetImagePasteboard(_ stringPtr: UnsafePointer<CChar>?)
    {
        let str = String(cString: stringPtr!)
        let image = NSImage(contentsOfFile: str)
    
        NSPasteboard.general.clearContents()
        NSPasteboard.general.writeObjects([image])
    }
    
[/code]

このようなコードを書いたところ、writeObjectsの行で

> Type of expression is ambiguous without more context

とエラーになってしまいます。  
ここはどう書くべきなのでしょうか？


CC BY-SA 4.0
2023-08-18T12:13:45.747
95977
2023-08-19T10:44:55.007
705
question
swift unity3d swiftui
Unity&MacOSでクリップボードに画像をコピーするネイティブプラグインを作成したい


自己解決しました。これでいけました。

[code]

    @_cdecl("SetImagePasteboard")
    public func SetImagePasteboard(_ stringPtr: UnsafePointer<CChar>?) {
        let str = String(cString: stringPtr!)
        let image = NSImage(contentsOfFile: str)
    
        let tiffdata = image?.tiffRepresentation
    
        NSPasteboard.general.clearContents()
        NSPasteboard.general.setData(tiffdata, forType: .tiff)
    }
    
[/code]


CC BY-SA 4.0
2023-08-18T14:36:10.770
95978
2023-08-19T10:44:55.007
2023-08-19T10:44:55.007
3060
705
95977
answer