Skip to content
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

fix(cli): fallback to xcrun devicectl for iOS 17 #24635

Merged
merged 4 commits into from Sep 27, 2023

Conversation

byCedric
Copy link
Member

Why

Works around issue #24615

This is a dirty workaround and needs further attention. If we want to keep the fast socket connections, we need to implement the new Quic + XPC protocol.

How

  • on iOS 17, there is a new protocol to connect to the device (Quic + XPC)
  • If the com.apple.debugserver service can't be launched, use the fallback option
  • Fallback is just xcrun devicectl

Test Plan

  • $ yarn create expo ./test-run -t tabs@49
  • $ cd ./test-run
  • $ yarn expo run:ios --device
  • Select an iOS 17 device (not simulator)
  • Should install, and boot the app

Checklist

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Sep 27, 2023
Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Sep 27, 2023
@byCedric byCedric merged commit 6f6e419 into main Sep 27, 2023
4 of 7 checks passed
@byCedric byCedric deleted the @bycedric/cli/xcode-15-issues branch September 27, 2023 19:53
byCedric added a commit that referenced this pull request Sep 27, 2023
Works around issue #24615

This is a dirty workaround and needs further attention. If we want to
keep the fast socket connections, we need to implement the new [Quic +
XPC](https://github.com/doronz88/pymobiledevice3/blob/master/misc/RemoteXPC.md)
protocol.

- on iOS 17, there is a new protocol to connect to the device ([Quic +
XPC](https://github.com/doronz88/pymobiledevice3/blob/master/misc/RemoteXPC.md))
- If the `com.apple.debugserver` service can't be launched, use the
fallback option
- Fallback is just `xcrun devicectl`

- `$ yarn create expo ./test-run -t tabs@49`
- `$ cd ./test-run`
- `$ yarn expo run:ios --device`
- Select an iOS 17 device (not simulator)
- Should install, and boot the app

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
@brentvatne brentvatne added the published Changes from the PR have been published to npm label Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: fingerprint compatible bot: passed checks ExpoBot has nothing to complain about published Changes from the PR have been published to npm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants