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


# fb3d99c5 24-May-2021 Tomasz Sapeta <[email protected]>

[permissions] Migrate interface to expo-modules-core (#12961)


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


# 2e19934f 12-Feb-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Add permissions requesting methods (#6807)

# Why

Part of `expo-notifications` rework. BTW fixes https://github.com/expo/expo/issues/5093.

# How

- on iOS:
- implement

[expo-notifications] Add permissions requesting methods (#6807)

# Why

Part of `expo-notifications` rework. BTW fixes https://github.com/expo/expo/issues/5093.

# How

- on iOS:
- implemented a requester that returns full information on current notification settings
- implemented an exported module capable of getting and asking for notification permissions
- added a method so that developers are able to ask for specific notification permissions
- on Android:
- implemented a native module that returns a response based on `NotificationManagerCompat`
- moreover, it also returns `importance` of notifications
- on web:
- nothing yet, to be researched
- in TS:
- added methods and type definitions for all the new features

# Test Plan

Added a simple test to `test-suite` and manually checked if the values returned match the settings.

show more ...


# cee2253d 14-Jan-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Device push token fetching module (#6577)

# Why

To eventually deprecate ExpoKit.

# How

- created a new unimodule, disabling autolinking in the root projects
- implemen

[expo-notifications] Device push token fetching module (#6577)

# Why

To eventually deprecate ExpoKit.

# How

- created a new unimodule, disabling autolinking in the root projects
- implemented `getDevicePushTokenAsync` method in TS, then in native (on iOS we rely on system framework, on Android we're using Firebase Cloud Messaging)
- implemented listening to token changes

### Notable changes to TS implementation

- I had to juggle around types a bit to achieve what I wanted — for TS to discriminate by `type: keyof Platform.OS` value what is the type of `data` field and at the same time to use `data: any` for unsupported platforms. Types are ready, but I needed to use [`@ts-ignore`](https://github.com/expo/expo/pull/6577/commits/0bd46874ad547f6a1f196adcfc15b6d98614d94f#diff-66b6995155cd1e190f53b012f5c2a857R43-R44) to get away with it.

### Notable changes to native implementation

- we use singleton module for listening to token changes [android](https://github.com/expo/expo/pull/6577/commits/69ee9efd42ba725703fd3f30073564ad3574f1d6#diff-5f9ef5ef7358f7a9c8cc386d42ee934f), [ios](https://github.com/expo/expo/pull/6577/commits/0aa2b66e1342c4de084fc329866752b53b4a6a76#diff-f8332f28b28ad9a24e0af0cb435876c7)
- on Android there's a service subclassing `FirebaseMessagingService` to which the singleton above subscribes [link](https://github.com/expo/expo/pull/6577/commits/69ee9efd42ba725703fd3f30073564ad3574f1d6#diff-b6817886a179022070e2417712503fa9)

### Notable changes to web implementation

- eventually, I guess, developers would want to customize how their app responds to notifications — for this I added a `serviceWorkerPath` manifest field [commit](https://github.com/expo/expo/pull/6577/commits/82e54aeb892b30661e0f5059e64acba70e686f85)

# Test Plan

- tests in `test-suite` are passing on **all three platforms** (on web puppeteer has to be run in head…ful (?) mode, otherwise overriding permissions doesn't work, which is a [known issue](https://github.com/puppeteer/puppeteer/issues/3279))
- push notifications sent to device push tokens are received on **all three platforms**

show more ...