Wednesday, February 8, 2023
HomeiOS DevelopmentImporting Net-based SwiftPM packages to your Xcode Playground — Erica Sadun

Importing Net-based SwiftPM packages to your Xcode Playground — Erica Sadun


I’ve been kicking the wheels on Xcode 12 and its skill to make use of frameworks and packages with playgrounds. Up till now, I’ve solely been capable of import packages which can be both downloaded or developed domestically on my residence system. Nonetheless, a whole lot of the packages I need to work with are hosted from GitHub.

I made a decision to comply with a hunch and see if I might import my dependency by means of an area Forwarding bundle after which use that code. Lengthy story quick: I might.

Right here’s my playground, efficiently working.

The RuntimeImplementation is asserted in a GitHub-hosted bundle referred to as Swift-Normal-Utility:

What I did to make this work was that I created what I referred to as a Forwarding Utility, whose sole job is to create a shell bundle that relies on the distant bundle and forwards it to the playground. It appears to be like like this. It’s a single file referred to as “Forwarding.swift” (no, the identify is under no circumstances magic.) in Sources/. I take advantage of @_exported to ahead the import.

/*
 
 Use this to ahead web-based dependencies to Swift Pkg
 
 */

@_exported import GeneralUtility

Its Bundle.swift installs the dependency:

    dependencies: [ .package(url: "https://github.com/erica/Swift-General-Utility", .exact("0.0.4")), ],
    targets: [
        .target(
            name: "ForwardingUtility",
            dependencies: [ .product(name: "GeneralUtility"), ],
            path: "Sources/"
        ),
    ],

And that’s just about all that there’s to it, apart from (as I discussed in my different publish about find out how to use SwiftPM packages in playground workspaces) that you could have to stop and re-open the primary beta earlier than you may import the forwarding.

Let me know something that I tousled. But additionally let me know if this was useful to you!



Supply hyperlink

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments