invertase / react-native-notifee

Moved to https://github.com/invertase/notifee
https://invertase.io/blog/open-sourcing-notifee
Other
465 stars 31 forks source link

NotifeeCore armv7 clang compatibility since notifee 1.7.0 version (requires Xcode 12.5+) #304

Closed CedricCouton closed 3 years ago

CedricCouton commented 3 years ago

Since notifee 1.7.0 when we try to build our xcode project with clang-1200.0.32.29 we have this error :

ld: could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: '1205.0.22.9.0_0' Reader: '1200.0.32.29_0')', using libLTO version 'LLVM version 12.0.0, (clang-1200.0.32.29)' for architecture armv7 

It seems to be linked to this commit https://github.com/notifee/react-native-notifee/commit/cf9c85ddcf91a8f65655d7bf81da3b91f4bcbd8e perhaps the NotifeeCore binary has been built with a too recent clang version ? WDYT ?

mikehardy commented 3 years ago

Hi there! NotifeeCore 1.7.0 has been built with Xcode 12.5 and this does require dependent apps to depend on Xcode 12.5 toolchain yes

@helenaford this could use documentation about what the minimum Xcode version is regardless of final compile, and perhaps a re-compile with Xcode 12.4 if that's possible (I don't have a 12.4 rig anymore so I cannot unfortunately...)

helenaford commented 3 years ago

@mikehardy documentation is updated in release notes and in environment support (https://notifee.app/react-native/docs/environment-support#additional-requirements). On the note about re-compiling for 12.4, I thought we discussed this and came to the conclusion it wasn't feasible?

mikehardy commented 3 years ago

Well, it's possible but I/we need to get Xcode12.4 (or more generically: "older version") side-by-side installs going on local rigs or to implement a publish task in GitHub CI that uses a version we specify and we move it up in a controlled way. The Github CI publish pathway is probably the best in order to make releases themselves an automated / reproducible process, so that's probably the thing to lodge as an internal task

For now (and for @CedricCouton to know), unless you have space for a side-by-side Xcode 12.4 install it is not going to happen for NotifeeCore 1.7.0 release as I don't have space at the moment on my rigs for a second Xcode

Link for reference, mostly for my future self: https://stackoverflow.com/questions/669367/can-i-have-multiple-xcode-versions-installed

mikehardy commented 3 years ago

@CedricCouton while working on unrelated things I noted that lots of cloud build providers haven't updated their macOS infrastructure to Big Sur yet, and that's a requirement for Xcode 12.5, meaning there are lots of people stuck on Xcode 12.4 through no fault of their own as their CI can't run 12.5.

That's a bigger effect than I was thinking originally, so I'm posting a PR that recompiles the library via Xcode 12.4 as #328