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

Help Wanted: Port to iOS/iPadOS #1095

Open
Charmandrigo opened this issue Jun 17, 2023 · 4 comments
Open

Help Wanted: Port to iOS/iPadOS #1095

Charmandrigo opened this issue Jun 17, 2023 · 4 comments
Labels
feature New features or improvements to existing ones help wanted Needs outside developer help to resolve bug ios iOS- or iPadOs-specific issue

Comments

@Charmandrigo
Copy link

Know this been said on the latest news post so it might be just a suggestion.
If in theory Drawpile could be compiled on ipad, why not releasing it via other sideloading methods like on a AltStore repository or just an ipa file to sideload using that app?
Certain clients of other apps apple would never accept like 4chan clients are on ios devices that way, at least that's one way. AltStore has commonly been used to load console emulators on ios devices and so.

@askmeaboutlo0m
Copy link
Member

We don't currently have any developer who even owns an iOS device, so I don't know if that would be a feasible option or not. It would require a developer who has the required equipment, an Apple developer account (probably?) and is familiar with the material to even try it out.

@askmeaboutlo0m askmeaboutlo0m added the help wanted Needs outside developer help to resolve bug label Jun 17, 2023
@askmeaboutlo0m askmeaboutlo0m added the ios iOS- or iPadOs-specific issue label Apr 6, 2024
@askmeaboutlo0m askmeaboutlo0m changed the title Drawpile on iOS via sideloading? Port to iOS/iPadOS Apr 9, 2024
@askmeaboutlo0m
Copy link
Member

As of March 2024, EU users can install applications on iOS/iPadOS from other sources than the App Store. So it no longer requires "sideloading".

We'd still need someone that owns the necessary devices and is part of the Apple Developer Program to even try this though. The buy-in for Apple's ecosystem is very high.

@askmeaboutlo0m
Copy link
Member

First step to getting this working would be to build a bare-bones Qt application for iOS and getting that running. I've made such an application over here: https://github.com/askmeaboutlo0m/barebones-qt-app

Instructions on how to get Qt going on iOS are here for Qt 5 and here for Qt 6. It's kind of a toss-up which one works better on which platform. I'd try 6 first anyway, since it's newer.

If that's working, other dependencies need to be built. You can look for example at the Emscripten setup.bash script for inspiration. It builds Qt for the host to be able to cross-compile, then for the target platform, then libzip, which is the only non-Qt dependency the browser has. Most of the Qt building logic is in that build-qt cmake script it calls.

Then Drawpile itself needs to be compiled. This part is something I can probably help with by borrowing a Mac and banging around on the CMake scripts, iOS like needs a bunch of special-cases, just like every other platform does too.

Once that's running, there'll probably be issues with asset loading, file handling and networking. Those just need to be dealt with as they are discovered, similar to Android and the browser.

@MorrowShore
Copy link
Member

MorrowShore commented Apr 14, 2024

If you're an IOS developer and could perhaps experiment with this, consider joining the #drawpile channel on libera.chat or Drawpile's Discord server for real-time access to us.

@MorrowShore MorrowShore added the feature New features or improvements to existing ones label Apr 14, 2024
@askmeaboutlo0m askmeaboutlo0m pinned this issue Apr 17, 2024
@askmeaboutlo0m askmeaboutlo0m changed the title Port to iOS/iPadOS Help Wanted: Port to iOS/iPadOS Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New features or improvements to existing ones help wanted Needs outside developer help to resolve bug ios iOS- or iPadOs-specific issue
Projects
None yet
Development

No branches or pull requests

3 participants