You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换Apple M1后调用SignInWithEmailAndPasswordAsync提示USE_AUTH_EMULATOR未设置

问题原因与解决方案

出现「USE_AUTH_EMULATOR not set.」提示的核心原因是:M1架构Mac上,Unity运行时对环境变量的读取逻辑和Intel架构存在差异,仅通过System.Environment.SetEnvironmentVariable设置模拟器地址无法被Firebase Auth SDK正确识别;另外旧版本Firebase SDK在ARM架构下的兼容性问题,也会触发该提示。

以下是针对性解决步骤:

  • 显式调用Auth模拟器初始化方法
    不要依赖环境变量,直接在获取FirebaseAuth实例后调用UseEmulator方法指定模拟器地址和端口。修改你的Start方法:

    private void Start()
    {
        auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
        // 添加这行代码指定模拟器地址
        auth.UseEmulator("127.0.0.1", 9099);
    
        dbManager = DBmanager.Instance;
        errorCheckSignIn = false;
        errorCheckSignUp = false;
    }
    
  • 升级Firebase SDK至最新稳定版
    旧版本Firebase SDK对M1架构支持不完善,可能导致环境变量读取失效。下载适配Unity的最新Firebase SDK,替换项目中的旧SDK文件。

  • 检查Unity编辑器运行架构
    打开Unity「Player Settings」,在「Other Settings」中找到「Architecture」选项,设置为「Universal」或「ARM64」,避免以Intel兼容模式运行编辑器,确保环境变量和SDK逻辑正常工作。

  • 区分编辑器与发布环境
    如果项目在编辑器中用模拟器测试、发布版本连接生产环境,可通过宏定义区分,避免发布版本出现模拟器提示:

    private void Start()
    {
        auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
        #if UNITY_EDITOR
        // 仅在编辑器中启用模拟器
        auth.UseEmulator("127.0.0.1", 9099);
        #endif
    
        dbManager = DBmanager.Instance;
        errorCheckSignIn = false;
        errorCheckSignUp = false;
    }
    

内容的提问来源于stack exchange,提问作者tayfur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 18:42:41