-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Fix iOS app configuration missing certain specifications #31162
Conversation
These days we also get:
Probably worth fixing here too, if possible. |
It's weird that we require bluetooth permissions at all, and I'm not sure what kind of message would satisify this warning and not have the game being rejected so I investigated it a little. Turns out it was SDL referencing CoreBluetooth via an API it provides for HID support (named HIDAPI). To avoid unnecessary hassles, I've took the time to disable CoreBluetooth from SDL instead, as in ppy/SDL3-CS#188. This also involved removing iOS from ppy/SDL2-CS completely, as SDL2 also references CoreBluetooth and I have no idea how to disable it there (I tried doing what I did in SDL3 but no go). PR: ppy/SDL2-CS#197 |
Do we lose anything by excluding hidapi? For example external keyboard support, apple pen support? If so, maybe best to just state that in the requirement rather than disabling? |
I don't think SDL's HIDAPI stuff has anything to do with functionalities already provided by Apple's native frameworks itself (hardware keyboard via The only kind of usage I can imagine is OTD if they rely on SDL's HIDAPI and/or use CoreBluetooth. If you think that's enough reason to not disable then sure. |
I believe they're doing their own stuff. That said I think the simplest path might just be to say we don't use these resources? In-case someone does use them and wonders why we don't include them in our SDL-CS releases.
It's a bit wishy-washy but seems to indicate "we don't actually use this" is somewhat of an appropriate response. |
As long as it doesn't end up in a user facing popup. These strings generally do, in my understanding, when they are actually accessed. That said, trimming our SDL releases down to only what we use seems like a good direction regardless? |
AFAICR our testflight build doesn't have any popups. If we can get away with not trimming and also not have a popup show, then that's a win-win in my book, given that these projects have external consumers. https://github.com/ppy/SDL2-CS/network/dependents https://github.com/ppy/SDL3-CS/network/dependents |
Here's a similar issue for reference: https://stackoverflow.com/a/58009150 |
Okay, my main intention was to find which API was using |
Shall we close SDL-CS PRs then? |
Yep. |
After having this one simmer for some time while working on other tasks that require UIKit's document-related components, the specification in this PR here should be correct for what osu! is as an iOS app.
osu! is not a document-based app, contrary to #7443 (comment). None of its files should be accessible to the user, not even logs, that's the last kind of data I would expose to a user that wants to play a game on their phone. The only kind of files that can be exposed to the user is exported beatmaps/skins/scores, and even then that doesn't justify it to be a document-based app at all.
osu! should not support opening documents in place either, there is nothing in the game that requires opening documents in the user's storage and write to it.
In conclusion, to address
ITMS-90737
:UISupportsDocumentBrowser
should not be set to YES as osu! is not a document-based appLSSupportsOpeningDocumentsInPlace
should be set to NO as osu! does not open documents in place.Tested the iOS file selector/presenter implementations to still work with this key set.