Xcode Build Fails on ExpoKit Detachment from SDK29

My app works great on SDK 29, but when I detach to ExpoKit, run pod install, then clean (Cmd+Shift+K) then run a build in Xcode, the build fails with the following error:

No visible @interface for 'EXModuleRegistryProvider' declares the selector 'initWithSingletonModuleClasses:'

Please keep in mind that this occurs without me making any changes to the codebase.

The effected file is:
ExVersionManager.m

The effected Line is 343, which reads:
EXModuleRegistryProvider *moduleRegistryProvider = [[EXModuleRegistryProvider alloc] initWithSingletonModuleClasses:singletonModuleClasses];

Can someone please help me understand why this is happening? What steps do I need to take to resolve this? I am not familiar with SWIFT or Obj-C or Xcode, but am willing to change that. Just need a little help in the beginning.

@quadsurf could you make sure you are using the latest version of expo-cli/exp and if so, could you post your Podfile? cc @tsapeta

@quadsurf, what will happen if you downgrade your ExpoKit pod to version 2.7.8 and run pod install?

Actually, what worked like a charm, was upgrading to SDK30, then detaching, then adding FaceDetector pod spec, then pod install, then ran a build in xcode, and everything ran smoothly and perfectly with a successful build, until I ran a Product >> Archive push to Testflight … the error I’m now getting is this:

Error reading the manifest file. Make sure the path '/Users/home/git/starter/ios/lipchat/Supporting/shell-app-manifest.json' is correct.
Error: Unexpected end of JSON input
Command /bin/sh failed with exit code 1

When I open this shell app manifest file, it’s blank/empty file, which is why it most likely is erroring out… @tsapeta when you push to testFlight with your own SDK30 apps, what does your shell-app-manifest.json file look like?

I’m not sure why a regular Xcode build creates a new build successfully, but archiving that same build fails… I guess I just don’t know enough about Xcode.

Looks like this issue might resolve that though:

@quadsurf, yes, this file is generated by expo publish so you need to run it at least once before archiving :slight_smile:

2 Likes

yep, it all worked perfectly, thanks a ton for all your guidance @tsapeta

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.