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

Unity macOS Xcode添加App Sandbox后Firebase Auth崩溃问题

解决方案

1. 调整配置文件位置,确保Sandbox可访问

将google-services-desktop.json和google-services.json移动到Unity项目的Assets/StreamingAssets目录下。这个目录在构建后会被打包进应用包内,App Sandbox默认允许应用访问自身包内的资源,可避免因文件系统权限限制导致的崩溃。

构建完成后在Xcode中确认:

  • 两个文件的Target Membership已勾选主应用目标
  • 在Build Phases > Copy Bundle Resources列表中能看到这两个文件

2. 配置App Sandbox必要权限

在Xcode的Signing & Capabilities标签页中,针对App Sandbox开启以下权限:

  • 勾选Network > Outgoing Connections (Client):Firebase Auth和Firestore需要发起网络请求,必须开启该权限
  • 无需额外添加文件系统权限(配置文件在包内,Sandbox默认允许访问)

3. 手动指定配置文件路径(解决自动读取失败)

如果Firebase无法自动识别配置文件,在初始化代码中手动加载google-services-desktop.json(macOS/Windows通用):

using Firebase;
using Firebase.Auth;
using System.IO;
using UnityEngine;

public class FirebaseSetup : MonoBehaviour
{
    void Start()
    {
        // 加载StreamingAssets目录下的配置文件
        string configFilePath = Path.Combine(Application.streamingAssetsPath, "google-services-desktop.json");
        
        // 初始化Firebase App
        FirebaseApp.Create(new AppOptions().SetConfigurationFromJsonFile(configFilePath));
        
        // 监听依赖检查结果
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
            if (task.Result == DependencyStatus.Available)
            {
                // 初始化Auth服务
                FirebaseAuth.DefaultInstance.StateChanged += OnAuthStateChanged;
            }
            else
            {
                Debug.LogError($"Firebase依赖缺失: {task.Result}");
            }
        });
    }

    void OnAuthStateChanged(object sender, System.EventArgs e)
    {
        // 处理Auth状态变更逻辑
    }
}

4. 排查崩溃日志定位问题

打开Xcode Organizer,找到对应版本的崩溃报告,查看具体报错信息:

  • 如果日志中出现Sandbox: [AppName](PID) deny(1) file-read-data,说明是文件访问权限被Sandbox拦截,回到步骤1确认配置文件位置
  • 如果出现配置文件解析错误,检查json文件是否完整、有无格式错误

5. 确保初始化流程顺序正确

  • 避免在Awake中提前调用Firebase服务,将初始化逻辑放在Start或协程中,确保配置文件加载完成后再初始化Auth/Firestore
  • 始终通过CheckAndFixDependenciesAsync()确认Firebase依赖加载完成后,再初始化具体服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:20:51