這個問題在這里已經有了答案: 什么是 NullReferenceException,我該如何解決? (27 個回答) 1 小時前關閉。
在我正在構建的 Unity 應用程式中測驗登錄和注冊功能時,我收到空參考錯誤。這兩個錯誤實際上是同一行代碼,所以我猜有些東西沒有正確連接到 Firebase。
我正在使用 Unity 2021.1.12f1
下面是相關代碼(不想貼太多,希望這足以幫助診斷問題。
public class FirebaseManager : MonoBehaviour
{
public static FirebaseManager instance;
public FirebaseAuth auth;
public FirebaseUser user;
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(checkDependencyTask =>
{
var dependencyStatus = checkDependencyTask.Result;
if (dependencyStatus == DependencyStatus.Available)
{
InitializeFirebase();
}
private void InitializeFirebase()
{
auth = FirebaseAuth.DefaultInstance;
auth.StateChanged = AuthStateChanged;
AuthStateChanged(this, null);
}
public void RegisterButton()
{
StartCoroutine(RegisterLogic(registerUsername.text, registerEmail.text, registerPassword.text, registerConfirmPassword.text));
}
private IEnumerator RegisterLogic(string _username, string _email, string _password, string _confirmPassword)
{
if (_username == "")
{
registerOutputText.text = "Please enter a username";
}
else if (_password != _confirmPassword)
{
registerOutputText.text = "Passwords do not match";
}
else
{
var registerTask = auth.CreateUserWithEmailAndPasswordAsync(_email, _password);
//code continues from here
最后一行是每當我單擊“注冊”按鈕時拋出空參考錯誤的地方。(在 Login 函式中有一行類似的代碼拋出相同的錯誤,所以我假設根是相同的。)
我為嘗試解決此問題所做的作業:
- 驗證json檔案在Assets檔案夾中
- 重啟 Unity
- 洗掉并重新安裝 Firebase 包(身份驗證、資料庫和遠程配置)
我真的很茫然,任何幫助將不勝感激。
uj5u.com熱心網友回復:
在我看來,很明顯 auth 為空,并且 InitializeFirebase() 未正確觸發。
uj5u.com熱心網友回復:
String.IsNullOrEmpty(String) 方法
String.Equals 方法
auth 可能為空,也許這有幫助:
if (String.IsNullOrEmpty(_username))
{
registerOutputText.text = "Please enter a username";
return;
}
if (String.IsNullOrEmpty(_password))
{
registerOutputText.text = "Please enter a password";
return;
}
if (null == auth)
{
registerOutputText.text = "auth is null";
return;
}
if (!_password.Equals(_confirmPassword))
{
registerOutputText.text = "Passwords do not match";
return;
}
var registerTask = auth.CreateUserWithEmailAndPasswordAsync(_email, _password);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/346685.html
