-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: pod install fails with wrong Service Extension plist file path in latest Expo SDK 50 beta #213
Comments
Thank you for the investigation that is very helpful. We are looking into this |
Sure! It might just go away, but then again it might not and this is probably the last chance to pick a fix for 0.73 and we're going to be in SDK 50 betas soon after. |
Still happening with the released React Native 0.73 and Expo SDK 50 beta. |
still happening always have to delete targets or provide base info.plist path then pod install then reassign original. |
I've written a patch that fixes the pod install issue.
|
Hey there. I maintain a config plugin and am running into a similar issue andrew-levy/react-native-safari-extension#24. Has anyone looked into this yet? Thanks. |
I applied @sapkotamadhusudan's patch by hand and it does allow prebuild to complete successfully, though I'm not 100% sure whether the |
@chriszs i think i did added await because of onesignal extension was not added on podfile in my project. |
@sapkotamadhusudan can you please explain your patch? |
Okay, so after further investigation: seems like there is a bug in the latest version of React Native (but they closed that issue due to lack of reproduction). Evan Bacon commented extensively on the PR which added the breaking change with specifics on how to fix it after it was merged. Here's an attempt at a patch. Going to keep digging, but I think this should eventually be an upstream patch. Could be worked around in this package, though, in the meantime. |
Created a minimal reproduction and filed a new upstream issue. |
I've created temperary fixes in #220. You can use this with below dependencies.
|
Thanks, but I get this error when adding the dependency:
|
Try to reset the cache and run |
I'm facing this issue too and the patch created by @hyochan fixed it! |
I build with eas build local without prebuild. I get the same error when installing your package. How can I solve it? |
@hasanaktas Try to reset caches and remove |
Even after SDK 50 stable release, still happening
|
I'm also getting this problem and it got fixed with @hyochan 's fix. Hope this get solved so we can point back to official repo! |
I couldn't get the fix by @hyochan to work, I'm just using EAS build, with no local prebuild. Maybe that's why. I just switched to expo-notifications, maybe I'll try OneSignal again in the future |
I get the same problem hasanaktas does. On both EAS build and local build. It's not a problem with the fix, its a problem with including github links in packages.json, I'm not sure why. |
Same problem after trying to upgrade to Expo SDK 50 and using EAS Build. |
Did you find a solution? |
This should be fixed in React Native 0.73.3 when that's released. |
@chriszs MVP. thanks! |
React Native 0.73.3 is released and the fix is no longer needed. Release 2.0.2 works. |
@andrew-levy Don't thank me! Thank Gabriel Donadel, who removed the offending method for separate reasons (it was a poorly thought out addition on multiple levels) and is also working on the PR for upgrading 0.73.3 in Expo. Presumably that'll land and be published soon. |
Are you sure the error has been resolved? I still can't get the build for iOS. local : eas build --profile production --platform ios --local --output ./builds/production.ipa expo-server : eas build --profile production --platform ios "expo": "~50.0.5"
error message
|
Have you tried react-native 0.73.3? that is the version that is supposed to work(I haven't tried yet) |
package.json
Yes, I tried upgrading and the same error persisted. |
@hasanaktas That appears to be a separate error and error message. The one described here is fixed in 0.73.3. Confirmed by upgrading the minimal reproduction I created to file the upstream issue. Keeping this issue open until Expo integrates 0.73.3, because this is an Expo plugin. |
Confirming that upgrade to react-native 0.73.3 works for iOS build using onesignal-expo-plugin |
@ChromeQ which version of Expo are you running? I don't see one that is compatible with 0.73.3 of Rn |
Latest [email protected], it isn't "officially" compatible, but the workaround mentioned above is the way to tell expo to not worry about the react-native version:
I'll work with this until expo update allows [email protected] |
Using this actually exposes another issue which is mentioned here: RCTBridge required dispatch_sync to load RCTAccessibilityManager. This may lead to deadlocks #42728 Perhaps the better solution for now is a more targeted patch and persist it using |
Further update: However, running the build on expo Build did not work (perhaps it would for local machine but I am not on a mac). This is because expo Build runs My solution was a bit more manual, I added the following bash script to the package.json postinstall script: "postinstall": "patch-package && if [ -f \"ios/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension-Info.plist\" ]; then cp ios/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension-Info.plist ios/; fi" By the way, patch-package is not required and you don't need the patch as outlined by @hyochan, I already had patch package as part of my postinstall script but you can do it without too. Hope this helps until some upstream dependencies are usable |
Seems like a good use for @Kudo's new experimental patch-project for Expo SDK 50, which is patch-package as a Prebuild plugin. Here's what I did:
|
Interesting, I didn't know about |
That doesn't look like valid json. How and where do you enter this in the |
@karlqueckfeldt It's just parts of the json, the However, I don't recommend this as I tried it and [email protected] comes with another bug as mentioned in this issue: facebook/react-native#42728 |
Ah, I see. Thanks! Noted. |
@karlqueckfeldt If you need a solution to work today then my solution will get you there until react-native 0.73.3 is supported in expo:
You should remove the |
Thanks for the tip! Unfortunately, this makes my CocoaPods install fail. I cleared my node_modules folder, and ran npm install after adding the postinstall script.
EDIT: I think it was because the script had an error in it. The Your script:
My change (also without patch-package):
|
Yep that will be it! I typed it out on my mobile so it was a typo/autocorrect. |
Works great! Thanks 🌟 |
Just FYI, expo now bumped RN to 0.73.4 expo/expo#26774, so this should be fixed ! |
@bensaine Have they released a new version of Expo with that yet? |
Running |
Works for me. |
What happened?
To prep for Expo SDK 50 and React Native 0.73, I upgraded to the latest Expo beta release, which includes React Native 0.73.0. When running prebuild with
--clean
, I get a failure with the message: "The plist file at pathtest-app/ios/OneSignalNotificationServiceExtension-Info.plist
doesn't exist." The plist file does exist, but in theOneSignalNotificationServiceExtension
directory underios/
, so the CocoaPods script is looking at the wrong path. This could well be a React Native or Expo bug, but something is breaking.Steps to reproduce?
npx create-expo-app test-app
cd test-app
npx expo prebuild
npx expo install onesignal-expo-plugin react-native-onesignal
"onesignal-expo-plugin"
withnpx expo prebuild --clean
# completes successfullynpm i expo@next
npx expo install --fix
npx expo prebuild --clean
# failsWhat did you expect to happen?
I expected the Cocoapod install to successfully complete.
OneSignal Expo SDK version
50.0.0-preview.0
Platform
iOS
Relevant log output
Code of Conduct
The text was updated successfully, but these errors were encountered: