В ios 17.4 .then запроса (PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY) срабатывает с результатом «заблокирован» до того, кIOS

Программируем под IOS
Ответить
Гость
 В ios 17.4 .then запроса (PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY) срабатывает с результатом «заблокирован» до того, к

Сообщение Гость »


В моем нативном приложении React есть следующий код. До сегодняшнего дня это работало так, как ожидалось, но теперь я всегда получаю сообщение «заблокировано» в результате первого запуска события, ДО ТОГО, как пользователь фактически сделал выбор.
Как таким образом, разрешение на уведомление также срабатывает, поскольку эта функция больше не ожидается, что приводит к ее появлению поверх модального окна отслеживания. Это выглядит плохо, так как сначала отображается отслеживание, затем уведомление, а затем, после того как вы ответите на уведомление, снова отображается отслеживание.
Никаких побочных эффектов, кроме невозможно использовать результат для чего-либо, если не вызвать его снова позже.
Интересно, как это исправить. Спасибо за любую помощь!

Код: Выделить всё

 if (Platform.OS === 'ios' && AppState.currentState == 'active') {
await request(PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY)
.then(async (result) => {
console.log('app trancking permissions result:', result);
// do something with result

await requestNotifications(['alert', 'sound']).then(({ status, settings }) => {
console.log('request notification status: ', status);
});
})
.catch((error) => {
console.log('error in request tracking permissions: ', error);
});

}


Источник: https://stackoverflow.com/questions/781 ... rency-fire
Ответить

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

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

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

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

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