History log of /expo/packages/expo-application/ios/EXApplication.podspec (Results 1 – 9 of 9)
Revision Date Author Comments
# 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 ...


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

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


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


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

[ios] Migrate all remaining native code


# 089a3d82 15-Dec-2020 Tomasz Sapeta <[email protected]>

[ios] Bump deployment target to iOS 11.0 (#11344)


# 52a1f6d0 04-Dec-2020 Tomasz Sapeta <[email protected]>

[ios] Require CocoaPods >=1.10.0 to use prebuilt libraries
Before v1.10.0 binaries built for arm64 simulator were treated as the ones for the device and so the build fails at linking.


# 6e1dd0e8 02-Dec-2020 Tomasz Sapeta <[email protected]>

[ios] Make podspecs compatible with prebuilds (#11183)


# cf45390b 08-Aug-2019 Robert Luo <[email protected]>

[expo-application] create expo-application unimodule (#5008)

* create expo-application unimodule

Co-authored-by: Robert Luo <[email protected]>
Co-authored-by: Vivian Zhu <[email protected]>

[expo-application] create expo-application unimodule (#5008)

* create expo-application unimodule

Co-authored-by: Robert Luo <[email protected]>
Co-authored-by: Vivian Zhu <[email protected]>

* [docs] update docs description

* [web] handle web constants and update format

* [ios] cleanup inline methods and handle error with NSError

* [docs] add error codes

* [ios] resolve conditional logic and resolve promise twice

* [docs] update getFirstInstallTimeAsync changes description

* [web] add nullable constants to web

* [android] add error codes

* took out endConnection and things work
* add error codes

* [android] close install referral connection

we didn't close the connection before, which could be dangerous/cause memory leaks. checked and this works

* [docs/android] update error codes

* Add ERR_APPLICATION_PACKAGE_NAME_NOT_FOUND code
* Fix soem things in docs

* [ios] add conditionals to avoid double invocation of promise

* [docs] add note about types for nativeBuildVersion

it seems that in the native code, for iOS the nativeBuildVersion in Info.plist is a string, while android.versionCode is an int

* [docs] update installation guide in README and docs

* rename getFirstInstallTimeAsync to getInstallationTimeAsync and bundleId to applicationId

* [android] change constant and method names

* bundleId->applicationId
* getFirstInstallTimeAsync() -> getInstallationTimeAsync()

* [android/docs] add debugger log statements

* update docs and code format in js

* [ios] update pods

* [android/docs] add promise rejection for hanging promise

* optimize imports
* add promise rejection + error code
* remove Log.d

* [docs] update docs format

* [web] update getFirstInstallationTime to return null on web

* [ios] reinstall pods

ran pod install to include `expo-application`

* [ios] update c-style code format and remove checks

* cast nativeBuildVersion to be string

* Update build.gradle

Update compilesdk version to 28

* Update ApplicationModule.java

* add more context on general case error
* add current method to get version code for api version 28+

* Update application.md

* Update EXApplication.m

* Update application.md

show more ...