Swiftpack.co - eonist/ResourceHelper as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by eonist.
eonist/ResourceHelper 1.0.0
Enables you to use .bundle and other resources with SPM Unit-tests
⭐️ 11
🕓 2 years ago
.package(url: "https://github.com/eonist/ResourceHelper.git", from: "1.0.0")

mit platform Lang SPM compatible codebeat badge Builds

Features

  • Enables you to use .bundle and other resources with SPM Unit-tests. (Perfect for Github action CI)
  • Enables you to also use the same code in Xcode unit tests

Example code:

// 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

Note: Swift 5.3 has support for adding assets with SPM, although a bit cumbersome. here is a tutorial 😅: https://medium.com/better-programming/how-to-add-resources-in-swift-package-manager-c437d44ec593

Installation

ResourceHelper is available using the Swift Package Manager:

Using Xcode 11, go to File -> Swift Packages -> Add Package Dependency and search for ResourceHelper or enter: https://github.com/eonist/ResourceHelper

If you are using Package.swift, you can also add ResourceHelper as a dependency easily.


let package = Package(
  name: "TestProject",
  dependencies: [
    .package(url: "https://github.com/eonist/ResourceHelper.git", .branch("master"))
  ],
  targets: [
    .target(name: "TestProject", dependencies: ["ResourceHelper"])
  ]
)

GitHub

link
Stars: 11
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

1.0.0 🎉
3 years ago

First release ✌️

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics