Ios 如何以互动模式运行世博会?

Ios 如何以互动模式运行世博会?,ios,react-native,npm,build,expo,Ios,React Native,Npm,Build,Expo,我现在在尝试为iOS构建expo应用程序(react native)时遇到了一个问题 运行命令exp build:ios时,出现以下错误: [18:11:15] Error while gathering & validating credentials [18:11:15] Input is required, but exp is in non-interactive mode. Required input: > How would you like to upload yo

我现在在尝试为iOS构建expo应用程序(react native)时遇到了一个问题

运行命令exp build:ios时,出现以下错误:

[18:11:15] Error while gathering & validating credentials
[18:11:15] Input is required, but exp is in non-interactive mode.
Required input:
> How would you like to upload your credentials?

这意味着我的expo应用程序正在非交互模式下运行,这就是为什么它在运行时无法接受输入。我想知道如何解决此问题。

我将此方法用于我们的CI/CD

你需要跑步

expo build:ios --release-channel deploy-test -c --clear-app-credentials
然后

此命令将从expo获取生成的证书,并提供2个密码。您需要将它们设置为环境变量

EXPO_IOS_DIST_P12_PASSWORD: Distribution p12 password

EXPO_IOS_PUSH_P12_PASSWORD: Push p12 password
现在,您已经有了登录到apple后要传递到expo的信息,请使用以下命令

expo build:ios --no-publish --no-wait --release-channel production --team-id TEAMID --dist-p12-path "PROJECTNAME_dist.p12" --push-p12-path "PROJECTNAME_push.p12"  --provisioning-profile-path "PROJECTNAME.mobileprovision" --non-interactive -c
希望这有帮助

expo build:ios --no-publish --no-wait --release-channel production --team-id TEAMID --dist-p12-path "PROJECTNAME_dist.p12" --push-p12-path "PROJECTNAME_push.p12"  --provisioning-profile-path "PROJECTNAME.mobileprovision" --non-interactive -c