History log of /expo/packages/expo-updates/ios/EXUpdates.podspec (Results 1 – 25 of 37)
Revision Date Author Comments
# 026e1885 16-Sep-2023 Alan Hughes <[email protected]>

[ios][updates] bump sqlite version (#24375)


# ef901781 11-Sep-2023 Douglas Lowder <[email protected]>

Apple TV support 1: podspec and code changes for commonly used modules (#24329)

# Why

First of a series of PRs to add Apple TV support for many (but not all)
Expo SDK modules.

This PR makes A

Apple TV support 1: podspec and code changes for commonly used modules (#24329)

# Why

First of a series of PRs to add Apple TV support for many (but not all)
Expo SDK modules.

This PR makes Apple TV able to compile for apps using
`[email protected]` and ONLY the following modules:

- expo
- expo-application
- expo-constants
- expo-eas-client
- expo-file-system
- expo-font
- expo-json-utils
- expo-keep-awake
- expo-manifests
- expo-modules-core
- expo-splash-screen
- expo-structured-headers
- expo-updates-interface
- expo-updates

# How

- Add tvOS to podspecs
- Native code changes wrapped in `#if TARGET_OS_TV` (for Objective C) or
`#if os(tvOS)` (for Swift)
- Import source for the `ASN1Decoder` Swift framework used by
`expo-updates`, as the public podspec for that framework does not yet
support tvOS

# Test Plan

- Manual testing with a template still in development
- Existing CI for iOS should pass (nothing should be broken)

# Checklist

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

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

show more ...


# 79294b5e 27-Jun-2023 Kudo Chien <[email protected]>

[ios][updates][tools] fix swift casting runtime exception (#23132)

# Why

close ENG-9094

# How

- this is again the swift runtime exception for casting versioned class to unversioned class li

[ios][updates][tools] fix swift casting runtime exception (#23132)

# Why

close ENG-9094

# How

- this is again the swift runtime exception for casting versioned class to unversioned class like https://github.com/expo/expo/pull/23012#discussion_r1237294135. this time it's the `EXUpdatesUpdate` and solved by the `object_setClass` too.
- moving the `object_setClass` to expo-go only `EXUpdatesBinding` class which is a proper place to do the casting. however, this requires more swift <-> objc interop like adding swift compatibility header to search paths and adding `-fmodule-map`.
- some refactoring for the expokit podspec

# Test Plan

- ci passed
- test local expo-go to load sdk 49 updates (both classic updates and eas updates)

show more ...


# c0a96678 07-Jun-2023 Kudo Chien <[email protected]>

Upgrade react-native 0.72.0-rc.5 (#22588)

# Why

upgrade react-native 0.72 for sdk 49
close ENG-8011

# How

- bump package versions
- `react-native 0.71.3 -> 0.72.0-rc.5`
- `metro-reac

Upgrade react-native 0.72.0-rc.5 (#22588)

# Why

upgrade react-native 0.72 for sdk 49
close ENG-8011

# How

- bump package versions
- `react-native 0.71.3 -> 0.72.0-rc.5`
- `metro-react-native-babel-preset 0.73.9 -> 0.76.5`
- [bare-expo][templates][fabric-tester] migrate template base on [upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.71.7&to=0.72.0-rc.5)
- [expo-template-tabs] remove the metro version overrides for expo-router.
- [core][dev-laucher][dev-menu][media-library][screen-orientation][splash-screen][updates-interface][updates] add the `install_modules_dependencies` to support new architecture + use_frameworks!
- [core][autolinking] fix some new architecture error on ios
- [react-native-lab] update our fork to 0.72.0-rc.5 based
- [go][tools] fix **react-native-lab/react-native/packages/react-native** path move because of react-native's repo monorepo changes
- [go][android] fix gradle 8 errors
- [go][ios] add `RCT_REMOTE_PROFILE=0` to fix the `RCT_ENABLE_INSPECTOR needs to be set to fulfill RCT_REMOTE_PROFILE` build error
- [ncl] remove `ProgressViewIOS` / `ProgressBarAndroid` since they are deprecated/removed in 0.72
- [dev-menu][dev-launcher] rebuild bundles

# Note

- react-native-web is not bumped because of the [issue](https://github.com/necolas/react-native-web/issues/2523), so it's still react-native-web@~0.18.10.
- currently disable ci typecheck for @expo/cli because of upstream metro typescript support. i'll have another pr to fix those errors.
- updates e2e ci on android is broken at [here](https://github.com/expo/expo/blob/fada3d764957779fbfc3d7b723d185db1d933d95/packages/expo-updates/e2e/fixtures/Updates.e2e.ts#L518). i doubt if that's related to the react scheduler change. i'd disabled the failed test case.
- the react-native upstream [migrated away the `@types/jest`](https://github.com/facebook/react-native/pull/36068). i was afraid that will be a breaking change to the existing jest test code since it requires the explicit `@jest/globals` import. i didn't do this in this upgrade.

# Test Plan

- ✅ fabric-tester (without expo-dev-client)
- ✅ ci passed. there are some errors which are known:
- updates e2e on android: as mentioned above
- ios expo go on eas build: versioned expo go are broken on eas build m1 worker. this is also happening on main.
- android client: no space left on the ubuntu worker. this is also happening on main.
- ✅ bare-expo
- ✅ unversioned expo go + ncl

---------

Co-authored-by: Tomasz Sapeta <[email protected]>

show more ...


# d2e00e31 08-Mar-2023 Will Schurman <[email protected]>

[exupdates][ios] Replace reachability code with library (#21598)

# Why

Maintaining our own reachability code is complex and tough to test. Much
more reliable to use a library.

Closes ENG-7699

[exupdates][ios] Replace reachability code with library (#21598)

# Why

Maintaining our own reachability code is complex and tough to test. Much
more reliable to use a library.

Closes ENG-7699.

# How

Swap out custom implementation with library.

# Test Plan

Just inspection for now. I need to do more testing on this one, but I
think it requires a standalone app to be built on a real device which is
a major hurdle.

# 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 ...


# 4e8263a0 08-Mar-2023 Douglas Lowder <[email protected]>

[expo-updates] Fix iOS native debug after Swift conversion (#21602)


# e7511718 07-Mar-2023 Will Schurman <[email protected]>

[exupdates][ios] Convert error recovery to swift (#21570)

# Why

This converts error recovery to swift.

# How

Manually convert. The only thing of note is that OCMockito and other
mocking fr

[exupdates][ios] Convert error recovery to swift (#21570)

# Why

This converts error recovery to swift.

# How

Manually convert. The only thing of note is that OCMockito and other
mocking frameworks don't work for swift, so a manual protocol mock was
created for the test (which had to be converted in the same PR due to
inability to mock).

# Test Plan

Run all tests, launch 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 ...


# 04b3b8e4 24-Feb-2023 Will Schurman <[email protected]>

[exupdates][ios] Convert EXUpdatesUpdate tests to swift (#21329)

# Why

This converts a tests related to https://github.com/expo/expo/pull/21320
to swift. This was done in a separate PR to ensure

[exupdates][ios] Convert EXUpdatesUpdate tests to swift (#21329)

# Why

This converts a tests related to https://github.com/expo/expo/pull/21320
to swift. This was done in a separate PR to ensure that the non-test
conversion didn't introduce bugs at the same time as tests and thus
missing things.

# How

Convert

# Test Plan

Run tests.

# 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 ...


# 0b66f7dd 24-Feb-2023 Will Schurman <[email protected]>

[exupdates][ios] Start converting to swift (#21320)

# Why

Start the conversion process of the expo-updates library by converting
EXUpdatesUpdate and subclasses.

# How

Convert manually... l

[exupdates][ios] Start converting to swift (#21320)

# Why

Start the conversion process of the expo-updates library by converting
EXUpdatesUpdate and subclasses.

# How

Convert manually... lol.

The main note is that we can't use swift nullability/type forcing
operators (`!`, `as!`, `as?`) etc since the previous implementation was
relying upon NSAssert to raise an NSException which is caught in the
calling code, so I added new extension functions to replicate the
behavior (similar to EXManifests util functions).

# Test Plan

Build and run all tests.

# 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 ...


# 94af3eda 23-Feb-2023 Will Schurman <[email protected]>

[exmanifests][ios] Convert to swift (#21298)


# 84f418d7 17-Jan-2023 Kudo Chien <[email protected]>

[1/3] upgrade react-native 0.71 (#20799)

# Why

upgrade react-native 0.71 for sdk 48
close ENG-7192

# How

- update package versions
- `react: 18.1.0 -> 18.2.0`
- `react-native 0.70.5

[1/3] upgrade react-native 0.71 (#20799)

# Why

upgrade react-native 0.71 for sdk 48
close ENG-7192

# How

- update package versions
- `react: 18.1.0 -> 18.2.0`
- `react-native 0.70.5 -> 0.71.0`
- `react-dom: 18.1.0 -> 18.2.0`
- `react-test-renderer: 18.1.0 -> 18.2.0`
- `react-native-web: 0.18.9 -> 0.18.10`
- `babel-plugin-react-native-web: 0.18.9 -> 0.18.10`
- `metro-react-native-babel-preset: 0.72.3 -> 0.73.5`
- upgrade three project templates based on [upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.70.6&to=0.71.0)
- bare-expo
- expo-template-bare-minimum
- fabric-tester (this is based on `npx expo prebuild --clean --no-install --template /path/to/expo-template-bare-minimum.tgz`) so it includes some inconsistent changes
- [@expo/config-plugins]: support 0.71 template transform. the `namespace` in build.gradle and the files in `release` build variants
- [fbjni] upgrade 0.3.0 to align 0.71 (also ndk version)
- [expo-updates] move the `EX_UPDATES_NATIVE_DEBUG` `bundleInDebug` setup to templates. unfortunately, because RNGP setups the task dependencies pretty early. the original setup in expo-updates build.gradle is too late. note that the change doesn't reference any files from templates to expo-updates package. somehow it's not tightly coupled.
- [native-tests / expo-modules-test-core / expo-modules-autolinking] fix ios unit test build error because jsc now in a dedicated podspec. in theory, the ios native unit test could now run on hermes as well.
- for other details, please check commit histories one by one.

# Test Plan

- bare-expo ios / android
- fabric ios / android
- ci passed (except ios)
- test-suite ios is broken for unknown reasons. it breaks only on github actions and hermes. for nightlies testing, i also [changed it to jsc](https://github.com/expo/expo/blob/1e029c89c4247802cc4880e27e116a6b4c71c502/tools/src/commands/SetupReactNativeNightly.ts#L287-L293) to make ci green. i'll try to follow up and investigate the root cause.

show more ...


# 5e9ca7d3 29-Sep-2022 Douglas Lowder <[email protected]>

[expo-updates][iOS] Allow native debugging of updates (#19292)


# c88b85cf 14-Sep-2022 Tomasz Sapeta <[email protected]>

[ios] Bump deployment target to 13.0 (#18873)


# 08f6e0f4 12-Apr-2022 Will Schurman <[email protected]>

[expo-updates] Fix code signing test certificate fixtures (#17028)


# 67e936ed 04-Apr-2022 Will Schurman <[email protected]>

[expo-eas-client] Rename package (#16884)


# 0a6a28e9 25-Mar-2022 Will Schurman <[email protected]>

[expo-updates][ios] Support certificate chains (#16634)


# 61457939 23-Mar-2022 Will Schurman <[email protected]>

[expo-eas-client-id] Add EAS client ID library (#16680)


# 59e0fb95 13-Jan-2022 Will Schurman <[email protected]>

[expo-updates][ios] Implement code signing (#15682)


# c80edf39 03-Dec-2021 Kudo Chien <[email protected]>

[updates] Integrate ExpoReactDelegateHandler and fix bridge initialized twice issue. (#15142)

# Why

saving from expo-updates double bridge creation and its workaround #15019. also to keep `RCTRoo

[updates] Integrate ExpoReactDelegateHandler and fix bridge initialized twice issue. (#15142)

# Why

saving from expo-updates double bridge creation and its workaround #15019. also to keep `RCTRootView.initialProperties` when user in bare projects.
close ENG-2299

# How

- integrate with the new `ExpoReactDelegateHandler`
- integrate with `EXAppDefines.APP_DEBUG`, so prebuilding `expo-updates` is possible again.

# Test Plan

expo init sdk43
yarn add file:/path/to/expo/packages/{expo,expo-constants,expo-modules-autolinking,expo-modules-core,expo-splash-screen,expo-status-bar,expo-updates}
launch test and verify update with `expo publish`
test `SplashScreen.preventAutoHideAsync()` and hide splash screen after 3s.

show more ...


# e82665d5 12-Oct-2021 Eric Samelson <[email protected]>

[expo-updates][ios] add error recovery manager (#14397)


# 9886c0aa 28-Sep-2021 Kudo Chien <[email protected]>

[expo-modules][ios] Fix errors from use_frameworks in Podfile (#14523)

# Why

close [ENG-1772](https://linear.app/expo/issue/ENG-1772/regression-test-for-use-frameworks-in-podfile)
fixes #13920

[expo-modules][ios] Fix errors from use_frameworks in Podfile (#14523)

# Why

close [ENG-1772](https://linear.app/expo/issue/ENG-1772/regression-test-for-use-frameworks-in-podfile)
fixes #13920

# How

- error: `The 'App' target has transitive dependencies that include static binaries`
declare `static_framework = true` in podspec. since all expo-modules ship in either source code or static xcframework, it should make sense to add `static_framework` declaration and solve this kind of errors.

- error: generated swift runtime header not found
fix like this because in framework mode, generated headers are inside module.
```diff
+#if __has_include(<ExpoModulesCore/ExpoModulesCore-Swift.h>)
+// For cocoapods framework, the generated swift header will be inside ExpoModulesCore module
+#import <ExpoModulesCore/ExpoModulesCore-Swift.h>
+#else
#import "ExpoModulesCore-Swift.h"
+#endif
```

- error: [gl] `<cassert>` import not found
this is supported in c++, thus rename to objc++ .mm files.

- error: [gl] `BLOCK_SAFE_RUN` inconsistent left/right operands types
this is side effect after renaming expo-gl files as .mm. fixed by explicitly cast as void.

- error: [core] undefined symbols in linking time, e.g. `EXRegisterModule`
this is side effect after renaming expo-gl files as .mm. fixed by export symbols by `extern "C"`, otherwise c++ will have different name mangling between c.

- rename `expo-image` pod to `EXImage`

- error: `Include of non-modular header inside framework module`
adding `DEFINES_MODULES` for cocoapods to create modulemap file. for external dependency like firebase, ignore the error by adding `CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES`

- error: expo-constant's app.config and expo-updates' app.manifest not found
in use_frameworks mode, the path is the same with non framework mode. `/$UNLOCALIZED_RESOURCES_FOLDER_PATH` is unnecessary.

- error: [barcode-scanner] ZXingObjC podspec GCC_PREPROCESSOR_DEFINITIONS does not export to EXBarCodeScanner and cause headers not found
add these defines explicitly

- [templates] add missing `react_native_post_install` from react-native 0.64 upgrade

- error: `Cycle inside FBReactNativeSpec; building could produce unreliable results. This usually can be resolved by moving the shell script phase '[CP-User] Generate Specs' so that it runs before the build phase that depends on its outputs.`
workaround by moving `FBReactNativeSpec` build phase script order.

Co-authored-by: Tomasz Sapeta <[email protected]>

# Test Plan

## prebuilt xcframework test

```sh
expo init -t /path/to/expo/templates/expo-template-bare-minimum sdk43
cd sdk43
# add `s.static_framework = true` for each `node_modules/expo-*/ios/*.podspec`
cd ios
# add `use_frameworks!` to Podfile
rm -rf Pods && pod install
cd ..
expo run:ios
expo run:ios --configuration Release
```

## regression for all expo-modules

```sh
expo init -t /path/to/expo/templates/expo-template-bare-minimum sdk43
cd sdk43
yarn add file:/path/to/expo/packages/expo-* # add all expo-modules one-by-one
# test non framework mode
expo run:ios
expo run:ios --configuration Release
# test framework mode
cd ios
# add `use_frameworks!` to Podfile
rm -rf Pods && pod install
cd ..
expo run:ios
expo run:ios --configuration Release
```

show more ...


# 71ebd28e 13-Sep-2021 Charlie Cruzan <[email protected]>

[ios] Bump deployment target to 12.0 (#14383)

* drop ios 11

* update bare-sandbox

* forgot some

* add PR link to changelogs

* Update packages/expo-cellular/CHANGELOG.md

Co-authored-by

[ios] Bump deployment target to 12.0 (#14383)

* drop ios 11

* update bare-sandbox

* forgot some

* add PR link to changelogs

* Update packages/expo-cellular/CHANGELOG.md

Co-authored-by: Expo CI <[email protected]>

* et pod-install after rebase

Co-authored-by: Expo CI <[email protected]>

show more ...


# 2f6287e1 09-Sep-2021 Kudo Chien <[email protected]>

[updates] modularize expo-updates without further app setup (#14198)

# Why

modularize expo-update without app project setup

# How

- [ios] introduce `EXUpdatesAppDelegate` to replace AppDele

[updates] modularize expo-updates without further app setup (#14198)

# Why

modularize expo-update without app project setup

# How

- [ios] introduce `EXUpdatesAppDelegate` to replace AppDelegate setup
- [ios] move create-manifest-ios.sh into podspec
- [android] leverage `ReactNativeHostWrapper` and put into UpdatePackages to replace classic MainApplication setup
- [android] move create-manifest-android.gradle into library build.gradle

# Test Plan

these changes relies on expo-modules-core. however, our `expo-template-bare-minimum` template does not migrate to expo-modules-core yet. so i initiated a project from `expo-template-bare-minimum` with expo-modules-core migration to test the functionalities. please check [bare-update project in this branch](https://github.com/expo/expo/commits/%40kudo/modularize-expo-update-test/apps/bare-update).

test steps (based on bare-update project, the update url is `https://exp.host/@kudochien/bare-update`):

1. test release build (both ios and android)
2. modify App.js and `expo publish`
3. relaunch apps twice and see if the app has the updated content.

to test backward compatible, revert the `replace expo-updates integration by in-module setup` commit and go through the steps above again.

# Checklist

- [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.io and README.md).
- [x] This diff will work correctly for `expo build` (eg: updated `@expo/xdl`).
- [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).

show more ...


# 706a476d 26-Aug-2021 Will Schurman <[email protected]>

[expo-updates] Factor out raw manifests into their own package (#14183)


# efd75dec 16-Aug-2021 Tomasz Sapeta <[email protected]>

[ios] Migrate all remaining native code


12