History log of /expo/ios/Exponent/Kernel/Services/EXUpdatesDatabaseManager.m (Results 1 – 3 of 3)
Revision Date Author Comments
# a87dd437 07-Mar-2023 Will Schurman <[email protected]>

[exupdates][ios] Convert EXUpdatesCrypto to swift (#21524)

# Why

This converts EXUpdatesCrypto to swift

# How

This actually simplifies it a lot as well now that we are on iOS > 10.
Prior t

[exupdates][ios] Convert EXUpdatesCrypto to swift (#21524)

# Why

This converts EXUpdatesCrypto to swift

# How

This actually simplifies it a lot as well now that we are on iOS > 10.
Prior to ios10, a key had to be in the keychain to check it. Now, one
can call `SecKeyCreateWithData` without inserting it into the system
keychain.

# Test Plan

Tests pass.

This one I really need to get expo go to build, but it is failing
consistently compiling for unrelated reasons.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg:
updated a module plugin).

show more ...


# 19aed303 03-Mar-2023 Will Schurman <[email protected]>

[exupdates][ios] Convert database to swift (#21450)

# Why

This converts a good chunk of the EXUpdates database code to swift.

# How

Convert manually. Unfortunately this couldn't be broken u

[exupdates][ios] Convert database to swift (#21450)

# Why

This converts a good chunk of the EXUpdates database code to swift.

# How

Convert manually. Unfortunately this couldn't be broken up further due
to OpaquePointer return type incompatibility (can't return OpaquePointer
over bridge).

# Test Plan

Run all tests and build app.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg:
updated a module plugin).

show more ...


# 70103ccd 12-Aug-2020 Eric Samelson <[email protected]>

[android][ios] add support for development loads in expo-updates AppLoader (#9599)

# Why

Follow up to #9461 and #9523 . The development client's `AppLoader` classes are used to load manifests for

[android][ios] add support for development loads in expo-updates AppLoader (#9599)

# Why

Follow up to #9461 and #9523 . The development client's `AppLoader` classes are used to load manifests for both development and production bundles, but expo-updates is not intended to be used to load projects in development. We need to bypass expo-updates' caching and database layers for development mode loads.

# How

Unfortunately we cannot reliably determine before loading a manifest whether it is for a development or production mode project. Instead, I've added/expanded upon the ability of the calling class to abort a `LoaderTask` upon its cached/remote manifest callback being fired.

Now, the new ExpoUpdatesAppLoader classes will check for development mode at 3 separate stages -- 1) before starting the load, if the URL is clearly indicative of a project in development, 2) when the cached manifest is returned, and 3) when the remote manifest is loaded. If it determines at any of these three stages that it's trying to load a development mode project, it will abort the `LoaderTask` early and delegate to RN to load the development bundle, similar to how the current, non-expo-updates AppLoader classes in both clients work.

# Test Plan

Manual tests of loading a development mode project on both platforms, after enabling the ExpoUpdatesAppLoader class in Kernel.java/EXKernelAppRecord.m. Also ensured that loading production experiences did not break.

show more ...