RESOLVED WONTFIX 234727
(r276164) Replacement for AppCache without App-Bound domains after Xcode 13 update
https://bugs.webkit.org/show_bug.cgi?id=234727
Summary (r276164) Replacement for AppCache without App-Bound domains after Xcode 13 u...
Erwan M
Reported 2021-12-28 09:26:05 PST
Hi WebKit team, We were using AppCache for Offline caching in our WKWebView and following Xcode 13 update (which targets iOS SDK >= 15) application cache seems to be disabled by this bug: https://trac.webkit.org/changeset/276164/webkit We leverage "Service Workers" on other platforms (Android, Windows...) to provide offline capabilities to our users but on iOS, if I understood correctly, "App-Bound Domains" must be enabled in order to use service workers. Unfortunately we can't enable "App-Bound Domains": we own iOS applications that run business applications that are either "Cloud-hosted" (we own the servers and run the infrastructure for them) or deployed "On-Premises" by our customers (they own the hostnames+servers), as such we would have thousands of hostnames to add to our "App-Bound Domains" and this list is growing every day (since new customers deploy their business applications on their private servers). When looking at the original "App-Bound Domains" blog post (https://webkit.org/blog/10882/app-bound-domains/), we don't fit in the "web-browser" bucket as we don't browse the Web but only endpoints that deployed our business application, so we are more in the "self-hosted content" bucket. Is there any way of enabling "Service Workers" without using "App-Bound Domains"? Or could the "web-browser" entitlement be used to lift the "App-Bound domains" limitations in our case? Thanks!
Attachments
John Wilander
Comment 1 2021-12-29 18:37:57 PST
Hi! Thanks for filing. Given that you seem to rely fully on web technologies, even for storage, and you need to host primary content on more than the maximum number of app-bound domains, it sounds like you’re building a web app rather than an iOS app. Is there anything blocking you from using the web for this?
Erwan M
Comment 2 2022-01-03 07:43:31 PST
Thanks for your response, John! We're already a web app, our users can directly browse our application from Safari or any other desktop/mobile browser. Our mobile application is just a way to improve customer experience by adding advanced features (camera, video, audio recording, barcode scanning, AR features, offline capabilities...) that are only available there because we don't fully rely on web technologies for each of them. For offline capabilities for instance, we indeed use AppCache for caching offline static assets but offline data syncing is done in our "native" code in our mobile application because no web technology exactly fits our needs (so offline mode is only available in the mobile app version and not the web app in its browser version). Not being able to use service workers in our mobile application would mean rewriting an entire offline caching mechanism ourselves (and for iOS only since both Android and Windows support it). Is there any other way to enable Service Worker than to enable App-Bound Domains?
Radar WebKit Bug Importer
Comment 3 2022-01-04 09:27:26 PST
Alex Christensen
Comment 4 2022-01-04 09:55:27 PST
App bound domains are necessary to use service workers on iOS. You may also look into using WKURLSchemeHandler since you are already interfacing with native code. AppCache is on its way to being removed.
Anne van Kesteren
Comment 5 2024-03-15 03:54:07 PDT
Closing this as WONTFIX as we don't plan on supporting AppCache.
Note You need to log in before you can comment on or make changes to this bug.