Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS Projects? #5

Open
terhechte opened this issue Aug 3, 2023 · 2 comments
Open

iOS Projects? #5

terhechte opened this issue Aug 3, 2023 · 2 comments

Comments

@terhechte
Copy link

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?

@logancollins
Copy link
Member

logancollins commented Aug 3, 2023

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!

@terhechte
Copy link
Author

terhechte commented Aug 4, 2023

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants