pub struct IosDeviceControl { /* private fields */ }Expand description
iOS DeviceControl impl. Wraps SimctlClient + owns active
recording handle. Constructed by App::new / App::connect_to_runner
when targeting iOS.
Implementations§
Source§impl IosDeviceControl
impl IosDeviceControl
pub fn new() -> Self
Sourcepub fn with_client(client: SimctlClient) -> Self
pub fn with_client(client: SimctlClient) -> Self
Construct with an existing SimctlClient (used by
App::new(driver, simctl) back-compat constructor).
Sourcepub fn simctl(&self) -> &SimctlClient
pub fn simctl(&self) -> &SimctlClient
Direct accessor for tests / iOS-only callers that need raw simctl access beyond the trait surface.
Trait Implementations§
Source§impl Default for IosDeviceControl
impl Default for IosDeviceControl
Source§impl DeviceControl for IosDeviceControl
impl DeviceControl for IosDeviceControl
Source§fn privacy_reset_all<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn privacy_reset_all<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
v1.0.4 §D12 — reset all privacy grants for the bundle via
simctl privacy <udid> reset all <bundle-id>.
Source§fn clear_app_sandbox<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn clear_app_sandbox<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
v1.0.4 §D12 — wipe the app’s sandbox (Documents/, Library/,
tmp/) via simctl spawn <udid> rm -rf under the app’s
Containers/Data path. Preserves XCUITest binding.
Source§fn user_defaults_delete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<bool, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn user_defaults_delete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<bool, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
v1.0.27 — per-key NSUserDefaults deletion via
simctl spawn defaults delete. See SimctlClient::user_defaults_delete.
Source§fn as_ios_simctl(&self) -> Option<&SimctlClient>
fn as_ios_simctl(&self) -> Option<&SimctlClient>
iOS-only escape hatch: downcast to
&SimctlClient for legacy
App::simctl() API surface. Android impl returns None.fn launch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<u32, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn launch_with_args<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
args: &'life3 [String],
) -> Pin<Box<dyn Future<Output = Result<u32, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn terminate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn install<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
app_path: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn uninstall<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn keychain_reset<'life0, 'life1, 'async_trait>(
&'life0 self,
udid: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open_url<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
url: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send_push<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
apns_json_path: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn screenshot<'life0, 'life1, 'async_trait>(
&'life0 self,
udid: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pasteboard_set<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
text: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pasteboard_get<'life0, 'life1, 'async_trait>(
&'life0 self,
udid: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_media<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
paths: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn location_set<'life0, 'life1, 'async_trait>(
&'life0 self,
udid: &'life1 str,
lat: f64,
lon: f64,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn location_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
points: &'life2 [(f64, f64)],
speed_mps: Option<f64>,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_permission<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
bundle_id: &'life2 str,
permission: Permission,
action: PermissionAction,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn start_recording<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
udid: &'life1 str,
output_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn stop_recording<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), SimctlError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !Freeze for IosDeviceControl
impl !RefUnwindSafe for IosDeviceControl
impl !UnwindSafe for IosDeviceControl
impl Send for IosDeviceControl
impl Sync for IosDeviceControl
impl Unpin for IosDeviceControl
impl UnsafeUnpin for IosDeviceControl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more