I have a managed workflow project and after I’ve configured my “eas.json” and my “credentials.json” files and after doing all the required steps, I was trying to build using this command:
eas build --platform ios
Unfortunately, I have this error:
AssertionError: This function should be called only for managed projects
My project is a managed workflow and this is reflected in my “eas.json”, but I have no clue why this is happening.
hi there! this is because you have an ios
directory, so it looks like a ‘generic’ project. i believe you downloaded your credentials locally, which put them in the ios/creds
directory - this was a bug and they should have been placed elsewhere, we’ve fixed this and the fix will go out soon. for now, rename ios
to something else like app-signing
and then update credentials.json to point to the new place
1 Like
I’m having a similar issue, receiving the AssertionError
when I try to build my project using eas build --platform ios
. Although, in my case, I don’t have a credentials.json
file—I let EAS handle signing for me.
I’m happy to provide specifics in a private message if it would help.
1 Like
do you have an ios
or android
directory in your project? what is the output of expo diagnostics
? do you have a managed or bare project?
1 Like
Thank you a lot. That’s the reason actually.
Yeah that’s right i have an ios directory holding my certificates, thank you a lot.
So like they’ve said, if you’re managed workflow make sure you don’t have an ios or android directories in your root project.
I have both ios
and android
directories in my project. I ejected my app a while ago, so that I could use some unsupported React Native packages. My eas.json
file still lists the workflows as being “managed.” Up until this week, though, I never had a problem using eas build
with my existing repo, as is.
For what it’s worth, I’m able to build the app using eas-cli
v0.15.1. It’s only in higher versions that the build command fails.
you should change the workflow to "generic"
- if you use "managed"
then we will run prebuild each time you build your app and clobber any custom changes you’ve made to your native projects.
2 Likes