Приложение отлично работает на моем телефоне Android. Я могу аутентифицировать и добавить данные в базу данных. < /P>
Проблема на iPhone. Автомобиль Firebase работает нормально, потому что я могу аутентифицировать и получить пользовательские цедента, но нагрузки на нагрузку на Firebase на неопределенный срок до тайм -аута. Таким образом, это уже генерирует файлы для вас. Я даже добавил GoogleService-info.plist вручную в проекте Xcode.
Кроме того, когда я создал свой проект, я сначала включил Auth и Database перед созданием файлов с Flutterfire Полем Таким образом, у меня уже есть обновленные файлы Google-Services с URL базы данных в нем. >
Код: Выделить всё
void main() async {
// Ensure the widgets are initialized
WidgetsFlutterBinding.ensureInitialized();
// Load firebase
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the shared preferences
final prefs = await SharedPreferences.getInstance();
// Intialize the app settings
final repository = AppSettingsImpl(prefs);
// Run the main app
runApp(
ProviderScope(
overrides: [
settingsRepositoryProvider.overrideWithValue(repository),
],
child: const MyApp(),
),
);
}
< /code>
user_repo.dart
class GUserImpl implements UserRepository {
final FirebaseDatabase _database = FirebaseDatabase.instance;
final String _usersPath = 'users';
GlamUserImpl();
DatabaseReference get _usersRef => _database.ref(_usersPath);
@override
Future createUser(GUser user) async {
try {
await _usersRef.child(user.id).set(user.toJson());
} catch (e) {
print(e);
throw ErrorDescription('Failed to create user');
}
}
}
< /code>
provider.dart
print("Pushing to firebase");
// Push this user to the database
await GUserImpl()
.createUser(gUser)
.timeout(const Duration(minutes: 1));
Есть ли способ увидеть, что его блокирует? У меня мало опыта с XCODE и iOS, просто трепетайте и Android.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ely-on-ios
Мобильная версия