[create-expo-module] Cleanly handle View/Module suffix (#19952)
[emt] Add missing curly brace
[emt] ViewManager -> View (#19917)
[ios] Bump deployment target to 13.0 (#18873)
Creating Expo module with the example app (#17955)
Make Expo Modules template more robust (#17860)
[ios][android] Migrate names of module definition components (#17193)
Rewrite expo-module-template to be the ejs template (#15435)
[module-template] Fix ios build error from wrong view name (#15317)# Why fix CI error https://github.com/expo/expo/runs/4341197827 # How use the correct view name # Test Plan CI pass
[module-template] Use the sweet API (#15228)# Why Uses the sweet API in our module template. # How Created a simple empty module in Swift and Kotlin. # Test Plan - et create-unimodu
[module-template] Use the sweet API (#15228)# Why Uses the sweet API in our module template. # How Created a simple empty module in Swift and Kotlin. # Test Plan - et create-unimodule --name expo-test --use-local-template ✅
show more ...
[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 ```
[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]>
[ios] Migrate all remaining native code
[ios] Bump deployment target to iOS 11.0 (#11344)
[expo-module-template] Fix Expo Module Template on iOS (#4311)# Why After I ran `expo generate-module` and tried to build the iOS client with my module as a dependency in the Podfile, I ran into
[expo-module-template] Fix Expo Module Template on iOS (#4311)# Why After I ran `expo generate-module` and tried to build the iOS client with my module as a dependency in the Podfile, I ran into a bunch of compilation errors. Turns out we seemed to have switched the library with the core native module functions from `EXCore` to `UMCore` and similarly changed all of the function names/classes from the format `EXExportedModule` to `UMExportedModule`. # How Rename the imported libraries, classes, and method names with the `UM` prefix rather than `EX`. # Test Plan After making these changes, my iOS client successfully compiled with the new unimodule included on my test iPhone X.
[packages] Move unimodules foundation to `org.unimodules` scope
Fix up some unimodule packages (#3463)# Why Packages were not consistent in terms of the fields in `package.json` and the content of `README.md` files. # How - Removed `*.xcodeproj` files.
Fix up some unimodule packages (#3463)# Why Packages were not consistent in terms of the fields in `package.json` and the content of `README.md` files. # How - Removed `*.xcodeproj` files. - Ensured that all packages have correct links to the repo, docs and bug reports. - Added new-style README to all packages. - Ensured native expendencies are `peerDependencies`. - Rebuilt TypeScript files. - Fixed paths at `expo-file-system-interface` - Removed `postinstall` script from all packages ([explanation here](https://github.com/expo/expo/pull/3452#issuecomment-461621408)). - Removed `expo-core` dependency from interfaces (excluding `expo-task-manager-interface` as it's the only one that uses the core). - Ran `pod install` to update podfile locks and `*.podspec.json` files. # Test Plan Expo Client builds on both Android and iOS.
[expo-module-template] Create new typescript ready universal module template (#3060)* Create TS universal module template * [docs] Add logs for new module generation command * Fix Android & i
[expo-module-template] Create new typescript ready universal module template (#3060)* Create TS universal module template * [docs] Add logs for new module generation command * Fix Android & iOS template * Adjust expo-module-template * Adjust docs
[ios] Remove xcodeprojs from universal modules (#2919)# Why Fixes https://github.com/expo/expo/issues/2854. # How Removed all `EXUniversalModule.xcodeproj` from `packages`. Searched for `x
[ios] Remove xcodeprojs from universal modules (#2919)# Why Fixes https://github.com/expo/expo/issues/2854. # How Removed all `EXUniversalModule.xcodeproj` from `packages`. Searched for `xcodeproj` in `.md` files in `packages` and replaced with a short explanatory note: > Due to the way we develop and use universal modules at Expo (with Cocoapods), we don't support the `xcodeproj` way to install the module in iOS projects. Sorry for the inconvenience! Supporting `xcodeproj`s at the moment would involve either switching Expo Client to use `xcodeproj`s instead of Cocoapods or writing a Ruby script that would use `cocoapods` and `xcodeproj` gems to produce a valid `xcodeproj` file including all the source files defined as `source_files` in `podspec`. (`xcodeproj` files list all the files that should be included as project files). # Test Plan Expo Client project still compiles and runs ok.
Move universal modules to packages (#2380)* Move modules to packages * Remove unused, old, unmaintained standalone projects * Replace ['"/]modules['"/] with packages * Run pod install afte
Move universal modules to packages (#2380)* Move modules to packages * Remove unused, old, unmaintained standalone projects * Replace ['"/]modules['"/] with packages * Run pod install after regenerating ios files