// The temp.bundle folder can be in the root of your project (same directory as your `Package.swift`)
// iOS can only add resources inside .bundle folders
// macOS can only read files within its SandBox. Turn off Sandbox in info.plist (Using swift 5.3 and native spm assets is a better option here)
let path: String = ResourceHelper.projectRootURL(projectRef: #file, fileName: "temp.bundle/payload.json").path
Swift.print("path: \(path)") // Users/John/Documents/AwesomeApp/temp.bundle/payload.json
注意: Swift 5.3 已支持通过 SPM 添加资源,尽管有点繁琐。 这里有一个教程 😅: https://medium.com/better-programming/how-to-add-resources-in-swift-package-manager-c437d44ec593
ResourceHelper
可以通过 Swift Package Manager 获取
如果使用 Xcode 11,请转到 File -> Swift Packages -> Add Package Dependency
并搜索 ResourceHelper 或输入: https://github.com/eonist/ResourceHelper
如果您使用 Package.swift
,您也可以轻松地将 ResourceHelper
添加为依赖项。
let package = Package(
name: "TestProject",
dependencies: [
.package(url: "https://github.com/eonist/ResourceHelper.git", .branch("master"))
],
targets: [
.target(name: "TestProject", dependencies: ["ResourceHelper"])
]
)