Expokit Xcode capabilities settings

I have ejected a managed project to expokit. I am running expo start and launching the app through Xcode for development and then running expo publish prior to archiving a build through Xcode.

I am noticing some features stopped working - for example geofencing. I believe this bug was due to the fact that the background location services were not enabled in Xcode capabilities settings.

There are other capabilities that once worked in my managed expo project that no longer do now that I am building through Xcode.

While it’s not the end of the world to re-activate these settings, my question is just - ‘am I doing this correctly?’. It seems like app.json settings are not applying to the project anymore. Am I missing a step where I build from expo? It It’s a little hard to glean from the documentation the correct steps to publish an expokit build.

Once you eject, very little of app.json applies anymore. Those values are copied over one time to your native projects, and you’re responsible for changing them in the native projects going forward. The only things I’ve found that are still relevant in app.json are fields related to publishing your JavaScript, like slug, sdkVersion, assetBundlePatterns, and hooks.

The name field is an interesting case. It’s tightly-coupled to the native projects in some strange ways, as noted here: Changing name of ExpoKit app breaks iOS build / ExpoKit depends on App.json name in strange ways · Issue #3586 · expo/expo · GitHub. So, changing it in app.json will not change the name of your app in almost all places, but will break your builds nonetheless.