-
Notifications
You must be signed in to change notification settings - Fork 291
Use devicectl to install and launch *_application targets on a physical device #2527
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Can't we make a new Starlark flag? |
fd8aa9b
to
3120a21
Compare
@brentleyjones Done |
9e27e82
to
86244e6
Compare
…al device. Signed-off-by: Vadim Smal <[email protected]>
Signed-off-by: Vadim Smal <[email protected]>
Signed-off-by: Vadim Smal <[email protected]>
Signed-off-by: Vadim Smal <[email protected]>
b41de9f
to
5f12d84
Compare
This is great so far i have some very minor nits about docs and some questions about whats expected now when doing Is it now the default that doing |
64157e7
to
e8ddf44
Compare
Co-authored-by: Luis Padron <[email protected]> Co-authored-by: Brentley Jones <[email protected]>
e8ddf44
to
0c6a4cb
Compare
Yes, it's now the default behavior. The choice between running on a simulator or a device depends on the target architecture. However, it's worth noting that users typically build this target rather than running it directly. To me, it looks like this is emphasized enough in the documentation, but I'm open to suggestions. |
Ah makes sense it'll run on a device based on the arch, thank you! |
Co-authored-by: Luis Padron <[email protected]>
…al device (bazelbuild#2527) In Xcode 15, Apple introduced a new command-line tool that allows management of physical devices. This makes it possible to install and launch *_application targets on a physical device without third-party solutions. With these changes, you can now use `bazel run //:iOSApp --ios_multi_cpus=arm64`. Previously, this command would attempt to launch the application on a simulator and fail due to an invalid architecture. Bazel currently lacks a specific flag for specifying device identifiers suitable for this purpose. I created a [PR to Bazel](bazelbuild/bazel#23599) introducing an `--ios_device` flag. However, it's unlikely to be accepted since it's a platform-specific flag. If it is accepted, we can utilize it in the future. For the current implementation, I added astring_flagthat allows passing a device identifier. It can be used like this:--@build_bazel_rules_apple//apple/build_settings:ios_device=<uuid|ecid|serial_number|udid|name|dns_name> . --------- Signed-off-by: Vadim Smal <[email protected]> Co-authored-by: Luis Padron <[email protected]> Co-authored-by: Brentley Jones <[email protected]>
In Xcode 15, Apple introduced a new command-line tool that allows management of physical devices. This makes it possible to install and launch *_application targets on a physical device without third-party solutions.
With these changes, you can now use
bazel run //:iOSApp --ios_multi_cpus=arm64
.Previously, this command would attempt to launch the application on a simulator and fail due to an invalid architecture.
Bazel currently lacks a specific flag for specifying device identifiers suitable for this purpose. I created a PR to Bazel introducing an
--ios_device
flag. However, it's unlikely to be accepted since it's a platform-specific flag. If it is accepted, we can utilize it in the future.For the current implementation, I added astring_flagthat allows passing a device identifier. It can be used like this:--@build_bazel_rules_apple//apple/build_settings:ios_device=<uuid|ecid|serial_number|udid|name|dns_name> .
Note:
//doc:check_apple
failing on master