Фоновая выборка задача не выполняется в приложении Expo на iOSIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Фоновая выборка задача не выполняется в приложении Expo на iOS

Сообщение Anonymous »

Я пытаюсь реализовать фоновое извлечение в моем приложении React Native, используя Expo как на физическом iPhone 7 Plus, так и на симуляторе iOS (iPhone 7 Plus). В приложении используется выставка и выставка и выставленная экспозиция.🔄 App state changed: inactive
🔄 App state changed: background
⏱️ App running: 5:35:57 PM
🔄 App state changed: active
⏱️ App running: 5:36:02 PM
🔄 App state changed: inactive
🔄 App state changed: background

logs на симуляторе iOS (iPhone 7 Plus):
🔄 App state changed: active
⏱️ App running: 5:41:02 PM
⏱️ App running: 5:41:07 PM
⏱️ App running: 5:41:12 PM
⏱️ App running: 5:41:17 PM
⏱️ App running: 5:41:22 PM
🔄 App state changed: inactive
🔄 App state changed: background
⏱️ App running: 5:41:27 PM
⏱️ App running: 5:41:32 PM
⏱️ App running: 5:41:37 PM
⏱️ App running: 5:41:43 PM

Проблема
Даже после минимизации приложения и позволяя ему перейти в фон, задача фона избрать никогда не запускается - консоль никогда не регистрирует ✅ Фоновое извлечение, выполненное Сообщение. Есть ли что-нибудь еще, что мне нужно настроить для iPhone 7 Plus (или iOS в целом), чтобы позволить запускать фон?import React, { useEffect, useState } from 'react';
import { Text, View, AppState } from 'react-native';
import * as TaskManager from 'expo-task-manager';
import * as BackgroundFetch from 'expo-background-fetch';

const BACKGROUND_FETCH_TASK = 'background-fetch-demo';

TaskManager.defineTask(BACKGROUND_FETCH_TASK, async () => {
console.log('✅ Background fetch executed at', new Date().toLocaleTimeString());

// Do background work here, like fetching data or updating logs

return BackgroundFetch.BackgroundFetchResult.NewData;
});

export default function App() {
const [appState, setAppState] = useState(AppState.currentState);
const [time, setTime] = useState(new Date().toLocaleTimeString());

useEffect(() => {
const subscription = AppState.addEventListener('change', nextAppState => {
setAppState(nextAppState);
console.log('🔄 App state changed:', nextAppState);
});

const interval = setInterval(() => {
const now = new Date().toLocaleTimeString();
console.log('⏱️ App running:', now);
setTime(now);
}, 5000);

registerBackgroundFetchAsync();

return () => {
subscription.remove();
clearInterval(interval);
};
}, []);

return (

📱 App State: {appState}
🕒 Current Time: {time}
🚀 Leave app open and then minimize it to test background task

);
}

async function registerBackgroundFetchAsync() {
const status = await BackgroundFetch.getStatusAsync();
console.log('📦 Background Fetch Status:', status);

if (status === BackgroundFetch.BackgroundFetchStatus.Restricted || status === BackgroundFetch.BackgroundFetchStatus.Denied) {
console.log('❌ Background fetch is not available!');
return;
}

const tasks = await TaskManager.getRegisteredTasksAsync();
const alreadyRegistered = tasks.find(task => task.taskName === BACKGROUND_FETCH_TASK);

if (!alreadyRegistered) {
await BackgroundFetch.registerTaskAsync(BACKGROUND_FETCH_TASK, {
minimumInterval: 15 * 60, // 15 minutes
stopOnTerminate: false,
startOnBoot: true,
});
console.log('✅ Background fetch task registered');
} else {
console.log('✅ Background fetch task already registered');
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... app-on-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Фоновая выборка задача не выполняется в приложении Expo на iOS
    Anonymous » » в форуме IOS
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Фоновая выборка автономного приложения Expo не запускает задачу автоматически на iPad
    Anonymous » » в форуме IOS
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • Фоновая задача expo-task-manager не запускается в фоновом режиме на iOS
    Anonymous » » в форуме IOS
    0 Ответы
    143 Просмотры
    Последнее сообщение Anonymous
  • IOS 14 фоновая выборка дает ошибку планирования
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Android Studio: фоновая задача выполняется бесконечно
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»