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

Dolphin iOS #9662

Closed
wants to merge 793 commits into from
Closed

Dolphin iOS #9662

wants to merge 793 commits into from

Conversation

jkcoxson
Copy link

This is a full port of Dolphin for iOS. You don’t need jailbreak anymore, which makes this a viable port for Dolphin now. It’s based off the same JIT that Android uses, to in terms of breaking things the chances are very low. The GUI is completely independent, so breaking that is not a concern. Does not modify upstream code, so maintenance is slim.

OatmealDome and others added 30 commits August 16, 2020 15:53
OatmealDome and others added 24 commits November 15, 2020 15:45
This will cause it so you can't sign any other apps or sideload anything else with the amount of different schemes on this. Best to put a warning, because I accidently signed the wrong one and was down an ID.
Warn against changing the Team on all schemes
@OatmealDome
Copy link
Member

I'm really sorry, but I don't think this is a good idea. Dolphin upstream and myself agreed that it isn't best that my iOS fork is merged in #8492. (There's also a bunch of hacks in my fork which probably shouldn't be merged into upstream. A cleaner branch would need to be created.)

Perhaps it would be best if a discussion takes place on IRC or something before another attempt at iOS support is added?

@jkcoxson jkcoxson closed this Apr 22, 2021
@JosJuice
Copy link
Member

The GUI is completely independent, so breaking that is not a concern. Does not modify upstream code, so maintenance is slim.

This doesn't mean that there are no maintenance concerns. For instance, I'm currently working on replacing the old janky controller system we're using on Android (see PR #9624) as it's severely limiting our ability to make improvements. I believe the iOS port uses the same system. If I were to completely replace the system while only updating the Android GUI and not the iOS GUI, the iOS port would completely break. So if we ever are to merge iOS support (I don't know if this is something that people would be fine with or not), we need to have someone who can maintain it.

@jkcoxson
Copy link
Author

As far as I can see, iOS has completely reimplemented the UI in Swift, not taking anything from upstream.

@delroth
Copy link
Member

delroth commented Apr 22, 2021

Two things here, since I've regularly commented on iOS related stuff in the past:

  • I don't think it's worth maintaining an iOS port unless we think it will see usage. If it can't be allowed on the App Store, the usage will be fringe and not worth the support. Forks are a fine solution to this.
  • If we were to actually support iOS, merging back the fork is IMO the right solution, but this will have to be done in smaller individual chunks that can be reviewed and merged over time. A PR like this is unmergeable, as it is someone would probably need > 2 weeks of focused review time to give useful feedback, and you likely need more than one person looking at this (because of specialized expertise domains).

@JosJuice
Copy link
Member

As far as I can see, iOS has completely reimplemented the UI in Swift, not taking anything from upstream.

Yes, the UI is reimplemented, but it still has the emulator core as a dependency. So any large change in the emulator core's interface might break the iOS build unless you make sure to update the iOS-specific code.

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

Successfully merging this pull request may close these issues.

5 participants