Permissions.askAsync not making status = 'granted'

I am currently working in SDK32 and trying to make simple notifications permissions work. My code is below. The log states that the status is ‘undetermined’. I have no idea why. Any help is appreciated? I’ve been stuck on this for so long.

async askPermissions() {
    const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
    if (status === 'granted') {
      console.log('damn successful fool');
    } else {
      console.log('successful failure');

Hey @hochmanjoel,

What device are you testing your project with?


I have the same issue. Trying to request ‘AUDIO_RECORDING’ permissions, but it doesn’t show any dialog at all to ask me for permissions. I’ve tested on both Android and iOS physical devices with the Expo Client running.

This is the code:

import * as Permissions from 'expo-permissions'
import { Audio } from 'expo-av'
const { status } = await Permissions.getAsync(Permissions.AUDIO_RECORDING)
await recording.prepareToRecordAsync(Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY)
await recording.startAsync()

The error for Permissions.getAsync always returns the same:

Object {
  "expires": "never",
  "permissions": Object {
    "audioRecording": Object {
      "expires": "never",
      "status": "undetermined",
  "status": "undetermined",

I just found out that the problem relates to me testing in the Simulator. I knew I could not test push notifications in the Simulator but I did not know that I could test push notifications permissions in the Simulator.

By Simulator, do you mean the Expo Client or the iOS Simulator available in XCode. Because I’m not able to see permissions even on a physical device, but on Expo Client. Haven’t gotten around to building/deploying it yet.

XCode Simulator

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.