facebook / idb

idb is a flexible command line interface for automating iOS simulators and devices
https://fbidb.io
MIT License
4.48k stars 431 forks source link

idb install fails for WebDriverAgentRunner for Iphone XR #559

Open Arrognz opened 4 years ago

Arrognz commented 4 years ago

idb install not working for WebDriverAgentRunner #arm64e #iphonexr #realdevice

Description

What i did:

With an iphone XR plugged into the computer, xcode 11 installed :

Output:

Targets architecture arm64e not in the bundles supported architectures: (
    arm,
    arm64
)

However, I would expect it to work, since the xcrun dwarfdump --uuid WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner will print:

UUID: E1ED10A0-7AEC-3B20-BA31-D19165865032 (armv7) WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner
UUID: A0060CE0-58BD-3B87-ACB4-C1E2970F3EA6 (armv7s) WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner
UUID: BB03A7A1-5CE5-31E9-B96D-635DAAE9C163 (arm64) WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner
UUID: 0ACB0BFD-8579-3FCC-AEF4-603CE38A45A4 (arm64e) WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner

The bundle is obviously compatible with the device, because installing it with xcodebuild works fine:

xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -configuration Debug -destination id=$(idevice_id -l) test-without-building

Will result in the application being pushed to the device.

Environment

MacOS Catalina (10.5)

Xcode 11

Device: Iphone XR (iPhone 11,8 iOS 12.1.2)

Reproduction

Logs from idb_companion:

2019-10-04 14:43:17.210+0200 Invoked with args=[/usr/local/bin/idb_companion, --udid, 00008020-000809501EE1002E, 00008020-001C3CC426BA002E] env={TERM_SESSION_ID => CB6181C6-3FAF-4033-8EF2-57C7FCF0EA2B, SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.kR7C0z1puw/Listeners, OLDPWD => /Users/ganzf/Library/Developer/Xcode/DerivedData/WebDriverAgent-benrlklodjvvederrvfeeqbixpry/Build/Products/Debug-iphoneos, ZSH => /Users/ganzf/.oh-my-zsh, XPC_FLAGS => 0x0, PAGER => less, PWD => /Users/ganzf/Library/Developer/Xcode/DerivedData/WebDriverAgent-benrlklodjvvederrvfeeqbixpry, SHELL => /bin/zsh, SECURITYSESSIONID => 186a6, LC_CTYPE => UTF-8, TERM_PROGRAM_VERSION => 432, TERM_PROGRAM => Apple_Terminal, PATH => /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Apple/bin, SHLVL => 1, LSCOLORS => Gxfxcxdxbxegedabagacad, TERM => xterm-256color, LESS => -R, HOME => /Users/ganzf, TMPDIR => /var/folders/w4/0c1wnr1551d2nb_xn_crkz200000gn/T/, USER => ganzf, XPC_SERVICE_NAME => 0, LOGNAME => ganzf, LaunchInstanceID => B2ABA531-69CB-4BDD-B58C-8613C8861450, _ => /usr/local/bin/idb_companion, __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x2}
2019-10-04 14:43:17.212+0200 [framework_loader] MobileDevice: Loading from /System/Library/PrivateFrameworks/MobileDevice.framework
2019-10-04 14:43:17.220+0200 [framework_loader] MobileDevice: Successfully loaded
2019-10-04 14:43:17.220+0200 [framework_loader] Loaded All Private Frameworks [MobileDevice]
2019-10-04 14:43:17.223+0200 [device_manager] Device Connected AMDevice 0x7f98d8444e60 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:17.223+0200 [device_manager] New Device 'AMDevice 0x7f98d8444e60 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}' appeared for the first time
2019-10-04 14:43:17.223+0200 [00008020-000809501EE1002E_connection_cache_values] Connecting to AMDevice
2019-10-04 14:43:17.310+0200 [00008020-000809501EE1002E_connection_cache_values] Starting Session on AMDevice
2019-10-04 14:43:17.563+0200 [00008020-000809501EE1002E_connection_cache_values] Device ready for use
2019-10-04 14:43:17.563+0200 [00008020-000809501EE1002E] Caching values for AMDeviceRef AMDevice 0x7f98d8444e60 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:17.782+0200 [00008020-000809501EE1002E] Finished caching values for AMDeviceRef AMDevice 0x7f98d8444e60 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:17.782+0200 [00008020-000809501EE1002E_connection_cache_values] Stopping Session on AMDevice
Oct  4 14:43:17  idb_companion[7044] <Notice>: AMDeviceStopSession (thread 0x11345bd40): returned 0x0 for device 151
2019-10-04 14:43:17.821+0200 [00008020-000809501EE1002E_connection_cache_values] Disconnecting from AMDevice
2019-10-04 14:43:17.821+0200 [00008020-000809501EE1002E_connection_cache_values] Disconnected from AMDevice
2019-10-04 14:43:17.821+0200 [device_manager] Device Connected AMDevice 0x7f98d8445000 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:17.821+0200 [device_manager] New Device 'AMDevice 0x7f98d8445000 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}' appeared for the first time
2019-10-04 14:43:17.821+0200 [00008020-001C3CC426BA002E_connection_cache_values] Connecting to AMDevice
2019-10-04 14:43:17.825+0200 [00008020-001C3CC426BA002E_connection_cache_values] Starting Session on AMDevice
2019-10-04 14:43:17.913+0200 [00008020-001C3CC426BA002E_connection_cache_values] Device ready for use
2019-10-04 14:43:17.913+0200 [00008020-001C3CC426BA002E] Caching values for AMDeviceRef AMDevice 0x7f98d8445000 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:17.921+0200 [00008020-001C3CC426BA002E] Finished caching values for AMDeviceRef AMDevice 0x7f98d8445000 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:17.921+0200 [00008020-001C3CC426BA002E_connection_cache_values] Stopping Session on AMDevice
Oct  4 14:43:17  idb_companion[7044] <Notice>: AMDeviceStopSession (thread 0x11345bd40): returned 0x0 for device 132
2019-10-04 14:43:17.923+0200 [00008020-001C3CC426BA002E_connection_cache_values] Disconnecting from AMDevice
2019-10-04 14:43:17.923+0200 [00008020-001C3CC426BA002E_connection_cache_values] Disconnected from AMDevice
Oct  4 14:43:17  idb_companion[7044] <Notice>: _SubscribeForMuxNotifications (thread 0x11345bd40): returned 0x0.
2019-10-04 14:43:17.926+0200 Starting GRPC server on port 10882
Oct  4 14:43:17  idb_companion[7044] <Notice>: _AMDDeviceAttachedCallbackv3 (thread 0x11345bd40): Device 'AMDevice 0x7f98d8456600 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}' attached.
2019-10-04 14:43:17.926+0200 [device_manager] Device Connected AMDevice 0x7f98d8456600 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:17.926+0200 [device_manager] New Device 'AMDevice 0x7f98d8456600 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}' replaces Old Device 'AMDevice 0x7f98d8444e60 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}'
2019-10-04 14:43:17.926+0200 [00008020-000809501EE1002E_connection_cache_values] Connecting to AMDevice
D1004 14:43:17.926310000 123145485750272 ev_posix.cc:174]              Using polling engine: poll
D1004 14:43:17.926373000 123145485750272 dns_resolver_ares.cc:485]     Using ares dns resolver
E1004 14:43:17.926404000 123145485750272 trace.cc:65]                  Unknown trace var: 'fd_trace'
I1004 14:43:17.926449000 123145485750272 server_builder.cc:309]        Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
2019-10-04 14:43:17.927+0200 Started GRPC server on port 10882
2019-10-04 14:43:17.964+0200 [00008020-000809501EE1002E_connection_cache_values] Starting Session on AMDevice
2019-10-04 14:43:18.348+0200 [00008020-000809501EE1002E_connection_cache_values] Device ready for use
2019-10-04 14:43:18.348+0200 [00008020-000809501EE1002E] Caching values for AMDeviceRef AMDevice 0x7f98d8456600 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:18.662+0200 [00008020-000809501EE1002E] Finished caching values for AMDeviceRef AMDevice 0x7f98d8456600 {UDID = 00008020-000809501EE1002E, device ID = 151, FullServiceName = f8:e9:4e:b4:07:f4@fe80::fae9:4eff:feb4:7f4._apple-mobdev2._tcp.local.}
2019-10-04 14:43:18.662+0200 [00008020-000809501EE1002E_connection_cache_values] Stopping Session on AMDevice
Oct  4 14:43:18  idb_companion[7044] <Notice>: AMDeviceStopSession (thread 0x11345bd40): returned 0x0 for device 151
2019-10-04 14:43:18.707+0200 [00008020-000809501EE1002E_connection_cache_values] Disconnecting from AMDevice
2019-10-04 14:43:18.707+0200 [00008020-000809501EE1002E_connection_cache_values] Disconnected from AMDevice
Oct  4 14:43:18  idb_companion[7044] <Notice>: _AMDDeviceAttachedCallbackv3 (thread 0x11345bd40): Device 'AMDevice 0x7f98d8700c20 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}' attached.
2019-10-04 14:43:18.708+0200 [device_manager] Device Connected AMDevice 0x7f98d8700c20 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:18.708+0200 [device_manager] New Device 'AMDevice 0x7f98d8700c20 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}' replaces Old Device 'AMDevice 0x7f98d8445000 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}'
2019-10-04 14:43:18.708+0200 [00008020-001C3CC426BA002E_connection_cache_values] Connecting to AMDevice
2019-10-04 14:43:18.711+0200 [00008020-001C3CC426BA002E_connection_cache_values] Starting Session on AMDevice
2019-10-04 14:43:18.791+0200 [00008020-001C3CC426BA002E_connection_cache_values] Device ready for use
2019-10-04 14:43:18.791+0200 [00008020-001C3CC426BA002E] Caching values for AMDeviceRef AMDevice 0x7f98d8700c20 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:18.797+0200 [00008020-001C3CC426BA002E] Finished caching values for AMDeviceRef AMDevice 0x7f98d8700c20 {UDID = 00008020-001C3CC426BA002E, device ID = 132, location ID = 0x14100000, product ID = 0x12a8}
2019-10-04 14:43:18.797+0200 [00008020-001C3CC426BA002E_connection_cache_values] Stopping Session on AMDevice
Oct  4 14:43:18  idb_companion[7044] <Notice>: AMDeviceStopSession (thread 0x11345bd40): returned 0x0 for device 132
2019-10-04 14:43:18.798+0200 [00008020-001C3CC426BA002E_connection_cache_values] Disconnecting from AMDevice
2019-10-04 14:43:18.798+0200 [00008020-001C3CC426BA002E_connection_cache_values] Disconnected from AMDevice
{"grpc_port":10882}
2019-10-04 14:43:18.798+0200 Companion will stay alive if target goes offline

Logs from idb list targets

ganzf’s iPhone | 00008020-001C3CC426BA002E | booted | device | iOS 12.1.2 | arm64e | :0

Logs from idb connect

udid: 00008020-001C3CC426BA002E is_local: True

Logs from idb install

Targets architecture arm64e not in the bundles supported architectures: (
    arm,
    arm64
)

Solution

No solution found yet.

Additional Information

EDIT: From https://github.com/facebook/idb/blob/ff8691e4d4235a98f4a24f18074783a42943b710/FBControlCore/Utility/FBArchitecture.h should I understand that fb/idb does not yet support arm64e ?

Solganis commented 4 years ago

Same problem.