libimobiledevice 一些常用指指令
https://github.com/libimobiledevicehttps://github.com/libimobiledevicehttps://github.com/alibaba/taobao-iphone-devicehttps://github.com/alibaba/taobao-iphone-deviceiOS真机命令(自动化测试)获取设备的的UDIDidevice_id -
https://github.com/libimobiledevicehttps://github.com/libimobiledevicehttps://github.com/alibaba/taobao-iphone-devicehttps://github.com/alibaba/taobao-iphone-device
iOS真机命令(自动化测试)
获取设备的的UDID
idevice_id --list # 显示当前所连接设备的 udid
ideviceinfo 可以在返回的数据中找到 udid
idevice_id -l
苹果手机 safari打开网址http://fir.im/udid 就看到了
安装某个app
ideviceinstaller -i apppath 安装apppath下的app
ideviceinstaller -u [udid] -i [xxx.ipa] # xxx.ipa 为应用在本地的路径
卸载应用
ideviceinstaller -u [udid] -U [bundleId]
查看设备已安装的应用
ideviceinstaller -u [udid] -l # 查看设备安装的第三方应用
ideviceinstaller -u [udid] -l -o list_user # 同上,查看设备安装的第三方应用
ideviceinstaller -u [udid] -l -o list_system # 查看设备安装的系统应用
ideviceinstaller -u [udid] -l -o list_all # 查看设备安装的所有应用
获取设备信息
ideviceinfo -u [udid] # 获取设备信息
ideviceinfo -u [udid] -k DeviceName # 获取设备名称 同命令 idevicename
idevicename # 同上
ideviceinfo -u [udid] -k ProductVersion # 获取设备版本 10.3.3
ideviceinfo -u [udid] -k ProductType # 获取设备类型 iPhone 8,1
ideviceinfo -u [udid] -k ProductName # 获取设备系统名称
其他系统文件信息
ideviceinfo # 获取设备所有信息
idevicesyslog # 获取设备日志
idevicecrashreport -e test # 获取设备 crashlog,test 是文件夹需新建
idevicediagnostics # 管理设备状态 - 重启、关机、睡眠等
ios-deploy 常用命令
ios-deploy -c # 查看当前链接的设备
ios-deploy --[xxx.app] # 安装APP
ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] # 卸载应用
ios-deploy --id [udid] --list_bundle_id # 查看所有应用
ios-deploy --id [udid] --exists --bundle_id # 查看应用是否安装
列举设备安装的应用:
ideviceinstaller -l则可以列出手机上所有的用户安装的app
运行某个app
idevicedebug run 'APP_BUNDLE_ID’可以直接launch某个app,当然,这个app必须是你通过development证书build到手机上的才行。
获取手机的设备版本:
Ideviceinfo -k ProductVersion
获取手机的设备名:
ideviceinfo -k ProductType
截图:
idevicescreenshot
手机关机:idevicediagnostics shutdown # shutdown device
重启手机:idevicediagnostics restart # restart device
休眠(熄屏灭屏): idevicediagnostics sleep # 类似于断开adb . (disconnects from host)
Domain: com.apple.mobile.battery
I believe this superceded com.apple.springboard.curvedBatteryCapacity
.
Key | Value |
---|---|
BatteryCurrentCapacity | 100 |
BatteryIsCharging | 0 |
ExternalChargeCapable | 1 |
ExternalConnected | 1 |
FullyCharged | 1 |
GasGaugeCapability1 | 1 |
Domain: com.apple.disk_usage
Key | Value |
---|---|
AmountDataAvailable | 4294914048 |
AmountDataReserved | 209715200 |
CalculateDiskUsage | "OkilyDokily"2 |
TotalDataAvailable | 4504629248 |
TotalDataCapacity | 29481025536 |
TotalDiskCapacity | 31708938240 |
TotalSystemAvailable | 335544320 |
TotalSystemCapacity | 2227912704 |
NANDInfo | NSData... |
These have been observed in the past, but I don't see them any more on an iPad Air (ios7) or an iPod Touch (ios6), though there are some clues still visible inside /usr/libexec/lockdownd
Key | Value |
---|---|
AmountCameraAvailable | 556707840 |
AmountCameraUsageChanged | -58721 |
CalendarUsage | 311296 (/var/mobile/Library/Calendar ?) |
CameraUsage | 27063896 |
MediaCacheUsage | 0 (/tmp/MediaCache ?) |
MobileApplicationUsage | 5058054749 |
NotesUsage | 40960 (/var/mobile/Library/Notes ?) |
PhotoUsage | 6096396 |
VoicemailUsage | 28672 (/var/mobile/Library/Voicemail ?) |
WebAppCacheUsage | 600064 (/var/mobile/Library/Caches/com.apple.WebAppCache ?) |
Domain: com.apple.mobile.data_sync
Key | Value |
---|---|
Bookmarks | {...} |
Calendars | {...} |
Contacts | {...} |
Notes | {...} |
Each of the values is a subdictionary with a similiar set of keys. For example,< PRE> Notes = AccountNames = ( iCloud ); Sources = ( "com.apple.dataaccess.IMAPNotes", iCloud ); }< /PRE>
Domain: com.apple.mobile.sync_data_class
Key | Value |
---|---|
Bookmarks | {} |
Calendars | {} |
Contacts | {} |
DeviceHandlesDefaultCalendar | 1 |
DeviceSupportsClearingData | 1 |
Mail Accounts | { "ReadOnly" = 1 } |
Notes | {} |
SupportsEncryptedBackups | 1 |
SyncSupportsCalDAV | 1 |
Domain: com.apple.mobile.lockdown_cache
Key | Value |
---|---|
ActivationState | Activated |
Domain: com.apple.mobile.iTunes
Key | Value |
---|---|
64Bit | 3 |
AccessibilityLanguages | ("fr-CA","nl-BE", ...) |
AlbumArt | (3013, {...}, 3018, {...}, ...) |
AppleDRMVersion | { Format = 2; Maximum = 4; Minimum = 0 } |
AudioCodecs | {"AAC"={...}; "AIFF"={...}; ...} |
BatteryPollInterval | 60 |
ChapterImageSpecs | (3006, {...}, 3013, {...}, ... }) |
ConnectedBus | USB |
CustomerRingtones | 1 |
DBVersion | 5 |
FairPlayCBMaxVersion | 4 |
FairPlayCBMinVersion | 3 |
FairPlayCertificate | NSData... |
FairPlayDeviceType | 94 |
FairPlayGUID | 888455bb1568888888809ca4c27ce2b648888 |
FairPlayID | NSData... |
FamilyID | 10032 |
GeniusConfigMaxVersion | 20 |
GeniusConfigMinVersion | 1 |
GeniusMetadataMaxVersion | 20 |
GeniusMetadataMinVersion | 1 |
GeniusSimilaritiesMaxVersion | 20 |
GeniusSimilaritiesMinVersion | 1 |
HomeScreenIconColumns | 4 |
HomeScreenIconDockMaxCount | 6 |
HomeScreenIconHeight | 72 |
HomeScreenIconRows | 5 |
HomeScreenIconWidth | 72 |
HomeScreenMaxPages | 15 |
HomeScreenNewsstand | 1 |
HomeVideosSupported | 1 |
IconFolderColumns | 3 |
IconFolderMaxPages | 15 |
IconFolderRows | 3 |
IconStateSaves | 1 |
ImageSpecifications | (901, {...}, 3141, {...}, ...) |
KeyTypeSupportVersion | 492 |
MinITunesVersion | 11.1.0 |
MinMacOSVersion | 10.5.8 |
NeedsAntiPhishingDB | 1 |
OEMA | 1 |
OEMID | 0 |
PhotoEventsSupported | 1 |
PhotoFacesSupported | 1 |
PhotoVideosSupported | 1 |
PlaylistFoldersSupported | 1 |
PodcastsSupported | 1 |
RentalsSupported | 1 |
Ringtones | 1 |
ScreenHeight | 2048 |
ScreenScaleFactor | 2 |
ScreenWidth | 1536 |
SupportedKeyboards | ("ar","bg_BG",...) |
SupportsAccessibility | 1 |
SupportsAirTraffic | 1 |
SupportsAlertTones | 1 |
SupportsAntiPhishing | 1 |
SupportsApplicationInstall | 1 |
SupportsConfigurationBlobs | 1 |
SupportsDownloadedPodcasts | 1 |
SupportsGenius | 1 |
SupportsGeniusMixes | 1 |
SupportsProvisioningBlobs | 1 |
SyncDataClasses | ("Contacts", "Calendars", ...) |
TVShowRentalsSupported | 1 |
UseVoiceMemosFolder | 1 |
VideoCodecs | {"H.263" = {...}; "H.264" = {...}; ...} |
VideoPlaylistsSupported | 1 |
VoiceMemoFormats | {"AAC"={...}; "AIFF"={...}; ...} |
VoiceMemosSupported | 1 |
iPhoneCheckpointVersion | 1 |
iTunesSetupComplete | 1 |
iTunesStoreCapable | 1 |
iTunesUSupported | 1 |
Domain: com.apple.mobile.restriction
Key | Value |
---|---|
ProhibitAppDelete | 0 |
ProhibitAppInstall | 0 |
Domain: com.apple.international
Key | Value |
---|---|
Locale | en_AU |
Language | en |
SupportedLocales | ("sv_AX", "ro_RO", ...) |
SupportedKeyboards | ("ar", "bg_BG", ...) |
SupportedLanguages | ("en", "fr", ..) |
/// Keyboard = "en_AU";
Domain: com.apple.xcode.developerdomain
Key | Value |
---|---|
DeveloperStatus | Development |
Domain: com.apple.mobile.software_behavior
Key | Value |
---|---|
ChinaBrick | 0 |
GoogleMail | 0 |
NTSC | 0 |
NoVOIP | 0 |
NoWiFi | 0 |
ShutterClick | 0 |
Valid | 1 |
VolumeLimit | 0 |
Domain: com.apple.mobile.internal
Key | Value |
---|---|
CarrierBuild | 0 |
IsInternal | 0 |
UIBuild | 1 |
/// <PRE> /// VoidWarranty = ???; // not observed but deduced /// PasswordProtected = ???; // /// ActivationStateAcknowledged = ???; // /// </PRE>
Domain: com.apple.Accessibility
Key | Value |
---|---|
SpeakAutoCorrectionsEnabledByiTunes | 0 |
ZoomTouchEnabledByiTunes | 0 |
InvertDisplayEnabledByiTunes | 0 |
ClosedCaptioningEnabledByiTunes | 0 |
MonoAudioEnabledByiTunes | 0 |
VoiceOverTouchEnabledByiTunes | 0 |
Domain: com.apple.mobile.wireless_lockdown
These appear to relate to the wireless connection between the device and iTunes.
Key | Value |
---|---|
BonjourFullServiceName | "ee:e8:ff:dd:4d:cc@fe80::eeee:ffff:4567._apple-mobdev2._tcp.local." |
EnableWifiConnections | 0 |
SupportsWifi | 1 |
SupportsWifiSyncing | 1 |
WirelessBuddyID appears to be a dynamic value. Its format is as a <uuid> and it appears that the MobileDevice.framework retrieves it from CFPreferences("com.apple.iTunes","WirelessBuddyID"), allocating a new one if it does not already exist.
AMDeviceSetWirelessBuddyFlags() seems to push the hosts value across into the device, when it sets EnableWifiConnections to True.
查询手机空间
Ideviceinfo -q com.apple.disk_usage |findstr Data
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)