4 ms·
I know Cydia for iOS does the "app store" thing, paid apps and all. Don't really know how that's implemented, but other than that, it's APT based.
by Ezhik 11y ago
I know Cydia for iOS does the "app store" thing, paid apps and all. Don't really know how that's implemented, but other than that, it's APT based.
- comex 11y agoCydia has repositories just like Debian, but there are multiple independently operated ones in a default install; they accept proprietary software .debs, and don't take as active a role in shaping the system into a coherent whole as a standard Linux distro (to avoid clashes, packages get reverse-DNS style names), but they do cooperate with each other and with saurik (the developer of Cydia) - I'm sure other people could tell you more about what that looks like. They manually review package submissions before adding them, but they don't have the resources to subject every one to an Apple-like testing procedure. Adding custom repositories is exposed in Cydia's UI and is common. (Among many legitimate uses, this is also commonly used to add repos which host pirated copies of paid Cydia packages and App Store apps. Oh well.) Cydia has some additional functionality compared to stock APT: - Purchases - are basically handled as a separate layer; they're the only part of Cydia which is centralized, and are done through a web UI hosted by saurik. IIRC, once the package is purchased, Cydia's version of APT sends a device identifier header when requesting .debs, and repositories have to check with saurik's server to decide whether to return 403 or not. By itself this is pretty easy to crack, so many popular packages add their own DRM (yuck). - In addition to the short textual descriptions, package metadata can contain a "depiction" header containing a URL which Cydia will display in a web view when the user navigates to the package. This is intended to (a) allow each repo to design their own UI and maintain independence, (b) provide richer package info more flexibly than a fixed description UI would allow, e.g. including videos, and (c) allow repos to display ads, which they need to survive as payments aren't handled through them. (I originally had a somewhat long paragraph here on how utterly horrid a UX this is in practice, but it's not really on topic, so I'll leave it at that.)