from appium import webdriver
from appium.options.ios import XCUITestOptions

options = XCUITestOptions()
options.automation_name = 'XCUITest'

# Unique to device
options.udid = '00008120E2B0B8724249DA6D' # UDID
options.device_name = "appium-demo" # Name
options.platform_name = 'iOS'
options.platform_version = '18.3.1' # iOS version

# WDA settings
options.set_capability('webDriverAgentUrl', 'http://10.11.1.1:8100') # Services IP of Corellium device
options.set_capability('usePreinstalledWDA', True)
options.set_capability('updatedWDABundleId', 'org.appium.WebDriverAgentRunner') # Bundle ID chosen in Xcode project
options.set_capability('updatedWDABundleIdSuffix', '.xctrunner')

# App settings
options.bundle_id = 'com.apple.DocumentsApp' # Bundle ID of target application

try:
    driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
    print('Successfully loaded Files')
           
except Exception as e:
    print(f"Error occurred: {str(e)}")
    print(f"Error type: {type(e)}")

finally:
    driver.terminate_app('com.apple.DocumentsApp')
    driver.quit()