如何从 macOS Swift 上的文档目录加载图像?

Posted

技术标签:

【中文标题】如何从 macOS Swift 上的文档目录加载图像?【英文标题】:How to load an image from documents directory on macOS Swift? 【发布时间】:2020-10-27 19:46:45 【问题描述】:

我正在努力将图像加载到 Image。我正在制作一个与 ios 略有不同的 MacOS 应用。

我搜索了互联网,但我发现只有几个关于如何在 iOS 中制作的回复。

请检查代码:

import SwiftUI
struct ContentView: View 
    let myUrl = URL(fileURLWithPath: "/Users/codegrinder/Documents/turtlerock.jpg")
    init() 
        //TODO Do something with the myUrl which is valid (not nil)
    
    var body: some View 
        Image("turtlerock")
            .frame(maxWidth: .infinity, maxHeight: .infinity, alignment:.center)
       //I need to put the param to Image what I want to load an image from myUrl

    


struct ContentView_Previews: PreviewProvider 
    static var previews: some View 
        ContentView()
    

【问题讨论】:

【参考方案1】:

首先点击您的应用目标>签名和功能,然后删除应用沙箱,如下图所示:

现在您可以访问不在您的应用程序包中的文件。

struct ContentView: View 
    let image = NSImage(contentsOf: URL(fileURLWithPath: "/Users/codegrinder/Documents/turtlerock.jpg"))!
    var body: some View 
        Image(nsImage: image)
            .frame(maxWidth: .infinity, maxHeight: .infinity, alignment:.center)
    

【讨论】:

完美运行。我正在尝试 NSImage 但我没有删除“App Sandbox”。谢谢。

以上是关于如何从 macOS Swift 上的文档目录加载图像?的主要内容,如果未能解决你的问题,请参考以下文章

iTunesLibrary Swift 5.3 macOS

swift:从文档目录加载多个文件

如何在swift中从文档目录中获取特定文件的NSURL

从应用程序的文档目录加载本地 html 文件 swift wkwebview

无法从设备上的“文档”目录加载图像

添加 macOS 文档类型图标