# How to Auto-Dismiss Location Permission Alerts in iOS Simulator Using Appium?

**URL:** <https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890>\
**Category:** Support\
**Created:** [July 16, 2025, 11:13am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890 "2025-07-16T11:13:41Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 16, 2025, 11:13am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/1 "2025-07-16T11:13:41Z")

</div>

I’m facing an issue where I can’t allow the location permission on the simulator. I’ve tried the following method, but it only works on iOS 18:

I’m running tests on iOS Simulator using Appium, and my app triggers the standard location permission: **“Allow Once” / “Allow While Using App” / “Don’t Allow”**.  
I’ve already tried setting these desired capabilities:

- `"autoAcceptAlerts": true`
- `"autoDismissAlerts": true`

But the alert is not dismissed automatically. I also tried locating the alert buttons manually using XPath or accessibility ID, but the elements are not visible or interactable through Appium.

Is there a reliable way to auto-dismiss or bypass this alert during automation on iOS simulators?  
I’m currently using: **Appium 2.19.0** , **iOS 18.4 Simulator**.

Any suggestions or best practices would be appreciated.

---

<div class="post-metadata">

**Author:** ![Aleksei](https://discuss.appium.io/user_avatar/discuss.appium.io/aleksei/32/6267_2.png) [@Aleksei](https://discuss.appium.io/u/Aleksei)\
**Post date:** [July 16, 2025, 11:30am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/2 "2025-07-16T11:30:23Z")

</div>

I prefer to dismiss manually on screen where they could be.  
To dismiss manually → [[IOS] [REACT-NATIVE APP] With latest appium, not able to interact with the alert text boxes like permissions - #2 by Aleksei](https://discuss.appium.io/t/ios-react-native-app-with-latest-appium-not-able-to-interact-with-the-alert-text-boxes-like-permissions/45865/2)

BTW contact permission is other story starting iOS18 ! → [Troubleshooting - Appium XCUITest Driver](https://appium.github.io/appium-xcuitest-driver/latest/guides/troubleshooting/#interact-with-dialogs-managed-by-comapplecontactsuilimitedaccesspromptview)

---

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 17, 2025, 5:53am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/3 "2025-07-17T05:53:52Z")

</div>

Thank you for your reply. I tried to recreate your code in Python, but I’m getting an error: ❌ Failed to set `acceptAlertButtonSelector`: `'WebDriver' object has no attribute 'set_settings'`. Do you know why this is happening and how to fix it?

```auto
def accept_ios_location_alert():
    success = False

    try:
        appiumlib = BuiltIn().get_library_instance('AppiumLibrary')
        driver = appiumlib._current_application()
        print(f"{driver}")
    except Exception as e:
        print(f"❌ Failed: {e}")
        return False

    try:
        selector = "**/XCUIElementTypeButton['name == \"Allow While Using App\" OR name == \"Allow\"']"
        driver.set_settings({
            "acceptAlertButtonSelector": selector
        })
        print(f"✅ Setting 'acceptAlertButtonSelector' success di-set: {selector}")
    except Exception as e:
        print(f"❌ Filed set acceptAlertButtonSelector: {e}")
        return False

    time.sleep(3)

    try:
        alert = driver.switch_to.alert
        alert_text = alert.text
        print(f"⚠️ Alert is appears: {alert_text}")
    except:
        print("✅ Alert success dismiss.")
        success = True

    return success

```

---

<div class="post-metadata">

**Author:** ![Aleksei](https://discuss.appium.io/user_avatar/discuss.appium.io/aleksei/32/6267_2.png) [@Aleksei](https://discuss.appium.io/u/Aleksei)\
**Post date:** [July 17, 2025, 7:33am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/4 "2025-07-17T07:33:47Z")

</div>

```auto
driver.set_settings -> driver.set_setting OR self.driver.set_settings({"acceptAlertButtonSelector": ios_locator})
driver.switch_to.alert -> driver.switch_to.alert.accept()

```

---

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 17, 2025, 8:35am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/5 "2025-07-17T08:35:09Z")

</div>

I have already tried as you suggested, but the same error still occurs. May I know which versions of Xcode, XCTest, and Appium you are using?

---

<div class="post-metadata">

**Author:** ![Aleksei](https://discuss.appium.io/user_avatar/discuss.appium.io/aleksei/32/6267_2.png) [@Aleksei](https://discuss.appium.io/u/Aleksei)\
**Post date:** [July 17, 2025, 8:45am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/6 "2025-07-17T08:45:13Z")

</div>

```auto
appium -v
2.17.1
appium driver list
✔ Listing available drivers
- uiautomator2@4.2.0 [installed (npm)]
- xcuitest@9.1.4 [installed (npm)]

```

but in your case problem in python library i guess.

Write again new error you have after code changed.

---

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 17, 2025, 9:25am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/7 "2025-07-17T09:25:54Z")

</div>

when i used driver.set\_setting → Im getting error

> set acceptAlertButtonSelector: ‘WebDriver’ object has no attribute ‘set\_setting’

and self.driver.set\_settings → getting error

> set acceptAlertButtonSelector: ‘WebDriver’ object has no attribute ‘set\_settings’  
> this is full code after changes

```auto
from robot.libraries.BuiltIn import BuiltIn
from AppiumLibrary import AppiumLibrary
import time

class IOSPermissionLibrary:

    def accept_ios_location_alert_permission(self):

        self.appiumlib = BuiltIn().get_library_instance('AppiumLibrary')
        self.driver = self.appiumlib._current_application()
        success = False

        try:
            print(f"Driver instance: {self.driver}")
        except Exception as e:
            print(f"❌ Failed to get driver: {e}")
            return False

        try:
            selector = "**/XCUIElementTypeButton['name == \"Allow While Using App\" OR name == \"Allow\"']"
            self.driver.set_settings("acceptAlertButtonSelector", selector)
            print(f"✅ Setting 'acceptAlertButtonSelector' successfully set: {selector}")
        except Exception as e:
            print(f"❌ Failed set acceptAlertButtonSelector: {e}")
            return False

        time.sleep(3)

        try:
            self.driver.switch_to.alert.accept()
            print("✅ Alert Successfully .")
            success = True
        except Exception as e:
            print(f"❌ Failed alert: {e}")

        return success

```

---

<div class="post-metadata">

**Author:** ![Aleksei](https://discuss.appium.io/user_avatar/discuss.appium.io/aleksei/32/6267_2.png) [@Aleksei](https://discuss.appium.io/u/Aleksei)\
**Post date:** [July 17, 2025, 9:46am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/8 "2025-07-17T09:46:35Z")

</div>

mmmmmm possibly python Appium client just does not support it… try create ticket → [GitHub · Where software is built](https://github.com/appium/python-client/issues)

---

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 17, 2025, 10:43am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/9 "2025-07-17T10:43:17Z")

</div>

okay, thank you for your help. I already create ticket [Im getting an error: WebDriver' object has no attribute 'set\_settings · Issue #1145 · appium/python-client · GitHub](https://github.com/appium/python-client/issues/1145)

---

<div class="post-metadata">

**Author:** ![Aleksei](https://discuss.appium.io/user_avatar/discuss.appium.io/aleksei/32/6267_2.png) [@Aleksei](https://discuss.appium.io/u/Aleksei)\
**Post date:** [July 18, 2025, 5:50am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/10 "2025-07-18T05:50:48Z")

</div>

> [@Muzdalifah\_Yully\_Ayu](#):
>
> `set_settings`

changed to update\_settings!  
try with

```auto
self.driver.update_settings({"acceptAlertButtonSelector": ios_locator})

```

in doc mentioned wrong link to settings. new one → [appium/packages/appium/docs/en/guides/settings.md at master · appium/appium · GitHub](https://github.com/appium/appium/blob/master/packages/appium/docs/en/guides/settings.md)

---

<div class="post-metadata">

**Author:** ![Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/user_avatar/discuss.appium.io/muzdalifah_yully_ayu/32/14243_2.png) [@Muzdalifah\_Yully\_Ayu](https://discuss.appium.io/u/Muzdalifah_Yully_Ayu)\
**Post date:** [July 21, 2025, 5:01am UTC](https://discuss.appium.io/t/how-to-auto-dismiss-location-permission-alerts-in-ios-simulator-using-appium/45890/12 "2025-07-21T05:01:32Z")

</div>

Thank you for your help, I already managed to resolve the issue by using driver.update\_settings instead
