Skip to content
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

Expo support #49

Closed
gruckionvit opened this issue Oct 26, 2020 · 14 comments
Closed

Expo support #49

gruckionvit opened this issue Oct 26, 2020 · 14 comments

Comments

@gruckionvit
Copy link

Hi,have you consider supporting expo? I am and was wondering if you had any advice. If it's possible maybe we can collaborate?

Kind regards,
Stephen

@mtford90
Copy link
Collaborator

mtford90 commented Nov 1, 2020

Hey @gruckionvit - I haven't ever really used Expo other than giving it a quick try a couple of years ago.

This means I have no understanding of their process in terms of onboarding libraries. Is it something that their core team makes decisions on?

I'm more than happy to give any help I can if you'd like to make enquiries with them

@gunnx
Copy link

gunnx commented Dec 15, 2020

Anyone tried it on Expo?

@gruckionvit
Copy link
Author

It will be a while before I am able to come back to this. I will update people when this requirement is needed.

@yolpsoftware
Copy link
Collaborator

With the new EAS build, you can include external libraries like rnwc in you own development Expo client.

@sweetpalma
Copy link

Hey guys! I managed to integrate this library within EAS build and successfully build it for my iOS device! Brief steps to reproduce:

  • Setup EAS and Dev Client for your project.
  • Generate Xcode project by running expo prebuild -p ios.
  • Create a blank WatchKit application within your main project hierarchy and write some Swift code with this tutorial.
  • Try building and running application (both iOS and watchOS) in Xcode.
  • Add Watchkit Extension to your iOS build dependencies. That's a very important step, otherwise EAS will fail to build the whole thing for you.
  • Try building it in cloud with eas build --platform ios --profile <EAS PROFILE NAME>.

Hope it helps!

Снимок экрана 2021-11-26 в 12 30 06

@yolpsoftware
Copy link
Collaborator

@sweetpalma that's great news. Also relevant for expo/eas-cli#795, most likely it failed because of step 5.

@sweetpalma
Copy link

sweetpalma commented Nov 26, 2021

@yolpsoftware yes! I was suffering with this issues for five hours straight, so I started examining eas-build source code and found this dependency quirk. Great that it was helpful someone ❤️

@yolpsoftware
Copy link
Collaborator

@sweetpalma were you able to submit the app to the App Store or Testflight?

I get an error from the App Store saying

ITMS-90713: Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.mycompany.myproject.watchkitapp'

If you were able to submit, can I see your Info.plist files? In which of the three targets do you have an Info.plist file?

@sweetpalma
Copy link

sweetpalma commented Nov 27, 2021

@yolpsoftware just had this today! You need to open your project in Xcode and add some icons for Watchkit.

Снимок экрана 2021-11-27 в 17 53 52

@sweetpalma
Copy link

So I generated a production IPA with EAS, uploaded it to the App Store Connect with Transporter and published it with TestFlight - and it works 🥳

@yolpsoftware
Copy link
Collaborator

@sweetpalma thank you again! Worked perfectly with your hints.

@yolpsoftware
Copy link
Collaborator

@sweetpalma first of all, wish you guys in Ukraine all the best. Слава Україні!

Have you had any success building your Apple Watch counterpart to your Expo app?

For me, this has been a rather frustrating experience. No matter whether I test the app on the simulator, on a device in debug mode or in a Testflight release build, I always end up with messages between the devices that don't make it to the other device. The messages just don't arrive. They are sent successfully, but the target device does not receive them.

  • First I have been using the sendMessage API. This seems to be buggy for other people too, and someone on Stackoverflow recommended to use the Application Context and User Info APIs, since they also work when the connection between the Watch and the iPhone is hampered.
  • So I switched over to Application Context and User Info. But here I have the same problem. Sometimes the Watch receives the User Info data sent from the iPhone, and sometimes not, even though Reachability says the devices are connected.
  • It even seems to work better in debug mode, when I run the project from Xcode on a device connected to the Mac. Testflight builds ran on an actual device are worse, it just does not really work.
  • Also, the problem seems to be more with messages from the iPhone to the Watch, but I have also noticed messages from the Watch to the iPhone not being received.

What API did you use and what was your experience using it?

Thank you!

@mtford90
Copy link
Collaborator

Reading between the lines - it seems like it's now possible to use RNWC with Expo without any additional work on the RNWC side?

Can we therefore consider this issue closed?

@yolpsoftware
Copy link
Collaborator

Yes, the issue can be closed.

Maybe we could mention in the docs or readme that RNWC can be used with Expo, but only with EAS Build and Bare Workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants