facebook / idb

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

idb misrecognizes arm64 simulator as x86_64 and refused to install arm64 apps #814

Open wangkuiyi opened 1 year ago

wangkuiyi commented 1 year ago

Description and Reproduction

On my M1 MacBook Pro, I created and booted an iPhone 14 Pro simulator.

The Apple simctl program can list it.

$ xcrun simctl list devices | grep -i boot
    iPhone 14 Pro (50831FFA-58C6-4575-B410-5F4FD7A2DFAA) (Booted)

I can even install an app I built using CMake to this simulator and run it.

$ xcrun simctl install 50831FFA-58C6-4575-B410-5F4FD7A2DFAA build-sim/install/bin/iree-run-module.ap
$ $ xcrun simctl launch --console 50831FFA-58C6-4575-B410-5F4FD7A2DFAA org.iree.runmodule
Reading module contents from stdin...
iree/runtime/src/iree/vm/bytecode_module.c:117: INVALID_ARGUMENT; FlatBuffer data is not present or less than 16 bytes (0 total)
org.iree.runmodule: 94528

However, when I tried to install the same app using idb, it complains about the architecture.

$ idb install --udid 50831FFA-58C6-4575-B410-5F4FD7A2DFAA build-sim/install/bin/iree-run-module.app
Targets architecture x86_64 not in the bundles supported architectures: (
    arm64
)

I then tried idb list-targets. It seems mis-recognizes my simulator as of x86_64. My app was built for arm64.

$ idb list-targets | grep -i 'iphone 14 pro'
iPhone 14 Pro | 50831FFA-58C6-4575-B410-5F4FD7A2DFAA | Booted | simulator | iOS 16.2 | x86_64 | /tmp/idb/50831FFA-58C6-4575-B410-5F4FD7A2DFAA_companion.sock

Additional Information

Heraghon commented 1 year ago

Same problem here

li7pd commented 6 months ago

描述和复制

在我的 M1 MacBook Pro 上,我创建并启动了 iPhone 14 Pro 模拟器。

Applesimctl程序可以列出它。

$ xcrun simctl list devices | grep -i boot
    iPhone 14 Pro (50831FFA-58C6-4575-B410-5F4FD7A2DFAA) (Booted)

我什至可以将使用 CMake 构建的应用程序安装到该模拟器并运行它。

$ xcrun simctl install 50831FFA-58C6-4575-B410-5F4FD7A2DFAA build-sim/install/bin/iree-run-module.ap
$ $ xcrun simctl launch --console 50831FFA-58C6-4575-B410-5F4FD7A2DFAA org.iree.runmodule
Reading module contents from stdin...
iree/runtime/src/iree/vm/bytecode_module.c:117: INVALID_ARGUMENT; FlatBuffer data is not present or less than 16 bytes (0 total)
org.iree.runmodule: 94528

然而,当我尝试使用安装相同的应用程序时idb,它抱怨架构。

$ idb install --udid 50831FFA-58C6-4575-B410-5F4FD7A2DFAA build-sim/install/bin/iree-run-module.app
Targets architecture x86_64 not in the bundles supported architectures: (
    arm64
)

我然后尝试了idb list-targets。从 x86_64 开始,它似乎错误地识别了我的模拟器。我的应用程序是为 arm64 构建的。

$ idb list-targets | grep -i 'iphone 14 pro'
iPhone 14 Pro | 50831FFA-58C6-4575-B410-5F4FD7A2DFAA | Booted | simulator | iOS 16.2 | x86_64 | /tmp/idb/50831FFA-58C6-4575-B410-5F4FD7A2DFAA_companion.sock

附加信息

  • idb修订:
    Downloading https://pypi.apple.com/packages/packages/70/85/a03bc4f35f7d5c1a87d762229a9884fdd6b7207e5af552fdf7091c5dec1b/fb_idb-1.1.7-py3-none-any.whl (149 kB)
  • 芯片:苹果M1 Max
  • macOS:13.1 (22C65)
  • Xcode:版本 14.2 (14C18)

Downloading 链接失效,有新的吗

ameyms commented 4 months ago

Did anyone figure this out?