Я создаю свое первое приложение для iOS на основе Swift, и я использую Supabase для аутентификации.
Когда начинается приложение, я хочу молча обновить сеанс текущего пользователя. Функция выглядит так:
Я использую модель представления.@MainActor
func getCurrentUser() async {
isLoading = true
authError = nil
defer { isLoading = false }
do {
// I also tried this
// let currentUser = try await supabase.auth.user()
let refreshToken = try await SupabaseService.shared.client.auth
.session.refreshToken // I can see that I have a token
let supabaseUser = try await SupabaseService.shared.client.auth
.refreshSession(refreshToken: refreshToken).user
user = User(
id: supabaseUser.id,
email: supabaseUser.email ?? "",
createdAt: supabaseUser.createdAt,
emailConfirmedAt: supabaseUser.emailConfirmedAt,
lastSignInAt: supabaseUser.lastSignInAt
)
isAuthenticated = true
if user?.emailConfirmedAt == nil {
authError = .emailNotConfirmed
}
} catch {
authError = mapSupabaseError(error)
user = nil
isAuthenticated = false
}
}
< /code>
и вызовите эту функцию следующей: < /p>
.onAppear {
Task {
await vm.getCurrentUser()
}
}
< /code>
При каждом холодном запуске я получаю эту ошибку: < /p>
error domain = nsurlerrordomain Code = -1005 "Сетевое соединение было потеряно." < /p>
< /blockquote>
Но я могу увидеть, что мой запрос достиг пособия по стороне. Я попробовал? 16, iOS 18.4 и 18.5). < /P>
Удаление полученных данных, очистка папки сборки и перезагрузки симулятора. Я не знаю, что делать.
Это известная проблема с Supabase Swift Client, когда обновляется сеанс сразу после запуска? Может ли сам симулятор iOS сбросить соединение? Существуют ли дополнительные заголовки или настройки, которые я должен настроить на клиент Supabase?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-on-app-l
Supabase auth.refreshsession сбой с сетевым соединением было потеряно при запуске приложения ⇐ IOS
Программируем под IOS
1748635766
Anonymous
Я создаю свое первое приложение для iOS на основе Swift, и я использую Supabase для аутентификации.
Когда начинается приложение, я хочу молча обновить сеанс текущего пользователя. Функция выглядит так:
Я использую модель представления.@MainActor
func getCurrentUser() async {
isLoading = true
authError = nil
defer { isLoading = false }
do {
// I also tried this
// let currentUser = try await supabase.auth.user()
let refreshToken = try await SupabaseService.shared.client.auth
.session.refreshToken // I can see that I have a token
let supabaseUser = try await SupabaseService.shared.client.auth
.refreshSession(refreshToken: refreshToken).user
user = User(
id: supabaseUser.id,
email: supabaseUser.email ?? "",
createdAt: supabaseUser.createdAt,
emailConfirmedAt: supabaseUser.emailConfirmedAt,
lastSignInAt: supabaseUser.lastSignInAt
)
isAuthenticated = true
if user?.emailConfirmedAt == nil {
authError = .emailNotConfirmed
}
} catch {
authError = mapSupabaseError(error)
user = nil
isAuthenticated = false
}
}
< /code>
и вызовите эту функцию следующей: < /p>
.onAppear {
Task {
await vm.getCurrentUser()
}
}
< /code>
При каждом холодном запуске я получаю эту ошибку: < /p>
error domain = nsurlerrordomain Code = -1005 "Сетевое соединение было потеряно." < /p>
< /blockquote>
Но я могу увидеть, что мой запрос достиг пособия по стороне. Я попробовал? 16, iOS 18.4 и 18.5). < /P>
Удаление полученных данных, очистка папки сборки и перезагрузки симулятора. Я не знаю, что делать.
Это известная проблема с Supabase Swift Client, когда обновляется сеанс сразу после запуска? Может ли сам симулятор iOS сбросить соединение? Существуют ли дополнительные заголовки или настройки, которые я должен настроить на клиент Supabase?>
Подробнее здесь: [url]https://stackoverflow.com/questions/79645989/supabase-auth-refreshsession-fails-with-the-network-connection-was-lost-on-app-l[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия