#xcode #utility #12 #device-query #simctl

creator-simctl

Rust 对 Xcode 的 simctl 的封装

1 个不稳定版本

0.1.1 2021年1月5日

#763硬件支持

41 每月下载量
用于 5 个crates (2 直接)

MIT 许可证

63KB
1.5K SLoC

Simctl

Built Status crates.io Docs.rs

此crate提供了一个安全包装,用于Xcode附带的功能 simctl


🚨 重要:此库仅在Xcode已安装的情况下工作,并且目前仅与Xcode 12兼容。


示例

use simctl::{Simctl, DeviceQuery};

let simctl = Simctl::new();
let device = simctl.list()?.devices().iter()
    .available()
    .by_name("iPhone SE (2nd generation)")
    .next().unwrap();
let _ = device.boot();
device.launch("com.apple.mobilesafari").exec()?;
let image = device.io().screenshot(
    simctl::io::ImageType::Png,
    simctl::io::Display::Internal,
    simctl::io::Mask::Ignored,
)?;
device.shutdown()?;

操作

此crate目前支持以下操作。要获取原始CLI中所有可用操作的完整列表,请运行 xcrun simctl

支持的操作

  • boot
  • get_app_container
  • getenv
  • install
  • io screenshot
  • keychain reset
  • launch
  • list
  • openurl
  • privacy
  • push
  • shutdown
  • status_bar
  • terminate
  • ui
  • uninstall

不支持的操作

  • addmedia
  • clone
  • create
  • delete
  • diagnose
  • erase
  • icloud_sync
  • install_app_data
  • io enumerate
  • io poll
  • io recordVideo
  • keychain add-cert
  • keychain add-root-cert
  • logverbose
  • pair
  • pair_activate
  • pbcopy
  • pbpaste
  • pbsync
  • rename
  • spawn
  • unpair
  • upgrade

依赖项

~0.7–1.4MB
~33K SLoC