Data sharing between Safari and standalone iPhone 12 iOS 14.3

Viewed 198

I tried to share data between Safari browser and standalone PWA on iPhone12 with iOS 14.3.

The information, that this should work are here: https://firt.dev/ios-14/

I#ve tried this: https://www.netguru.com/codestories/how-to-share-session-cookie-or-state-between-pwa-in-standalone-mode-and-safari-on-ios

Without success.

Are there any suggestions to running this? Or is it not possible ...

This is the code

const CACHE_NAME = "auth";
const TOKEN_KEY = "token";
const FAKE_TOKEN = "sRKWQu6hCJgR25lslcf5s12FFVau0ugi";

// Cache Storage was designed for caching
// network requests with service workers,
// mainly to make PWAs work offline.
// You can give it any value you want in this case.
const FAKE_ENDPOINT = "/fake-endpoint";

const saveToken = async (token: string) => {
  try {
    const cache = await caches.open(CACHE_NAME);
    const responseBody = JSON.stringify({
      [TOKEN_KEY]: token
    });
    const response = new Response(responseBody);
    await cache.put(FAKE_ENDPOINT, response);
    console.log("Token saved! ");
  } catch (error) {
    // It's up to you how you resolve the error
    console.log("saveToken error:", { error });
  }
};

const getToken = async () => {
  try {
    const cache = await caches.open(CACHE_NAME);
    const response = await cache.match(FAKE_ENDPOINT);

    if (!response) {
      return null;
    }

    const responseBody = await response.json();
    return responseBody[TOKEN_KEY];
  } catch (error) {
    // Gotta catch 'em all
    console.log("getToken error:", { error });
  }
};

const displayCachedToken = async () => {
  const cachedToken = await getToken();
  console.log({ cachedToken });
};

// Uncomment the line below to save the fake token
// saveToken(FAKE_TOKEN);

displayCachedToken();

Without success means no result, i've tried to set data in safari and get them in standalone pwa

0 Answers
Related