Skip to content

iOS Projects? #5

Open
Open

Description

@terhechte

I've read the Readme and the plugin description but I'm none the wiser. Is it possible to use icarus in lieu of Xcode for doing iOS development (given that the iOS project is a pure SPM project)? Or can Icarus only be used with Swift non-app Swift SPM projects?

Activity

  1. logancollins commented on Aug 3, 2023

    @logancollins
    Member

    If the iOS project is using SwiftPM, then sort of. If it's only using an Xcode project, then not really, since Apple's SourceKit-LSP does not currently support Xcode projects. For an iOS project using SwiftPM, code editing, autocomplete, etc. should work just as it were for a standard, CLI or server-side Swift project.

    Building can also always be accomplished using either swift build or xcodebuild and a custom build phase script.

    However, there is no facility to deploy an app onto a device (especially with SwiftPM projects). Device and simulator hooks are entirely in the domain of Xcode. The simctl utility can do it for simulators, but I haven't yet been able to get it to work with any sort of SwiftPM project, only Xcode projects.

    For the most part, since SwiftPM + iOS is sort of nebulous right now, mixed with the inability to do things like edit XIBs and preview SwiftUI (both very much reserved by Xcode) Icarus isn't really targeting rich iOS support at the moment. That might change, as SwiftPM evolves some more (I saw some talk recently about the private .iOSApplication target type that was added for Swift Playgrounds, so hopefully it makes it into the publically documented SPM APIs).

    Oh, and I'm forever not quite on the bleeding edge of what's going on with iOS development (I'm mostly Mac and Linux), so if there is cool stuff happening we could hook into, don't hesitate to mention it!

  2. terhechte commented on Aug 4, 2023

    @terhechte
    Author

    Thanks! I might give it a try. I don't care about building, running on device, or SwiftUI previews anyway. These are things Xcode can handle well enough. What Xcode can't do is being a reasonably good code editor, so because Icarus allows me to have better vim bindings than Xcode and use GitHub copilot it is already much better at Xcode for the actual coding part :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions