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

* libmobiledevice maintenance: waiting for device and error handling #726

Merged

Conversation

dkimitsa
Copy link
Contributor

@dkimitsa dkimitsa commented May 3, 2023

reason

(also possibly fixes part of #721 issues)
libmobiledevice was failing on every situation then: device is not connected, blocked or pairing not complete. considering build process and deployment might take minutes its sad to fail just due to blocked device. changes: mitigation for these cases done by allowing 20 seconds for user to act to solve the situation:

  • if no device connected -- waiting for device
  • if device is locked -- waiting for unlock
  • if pairing in progress -- waiting to complete

now it looks as bellow in RoboVM log window:

[INFO] 19:26:28.376 Build done
[INFO] 19:26:28.377 Launching executable
[INFO] 19:26:28.387 Waiting for device: No devices connected. (retry 1 of 20)...
[INFO] 19:26:29.393 Waiting for device: No devices connected. (retry 2 of 20)...
[INFO] 19:26:30.399 Waiting for device: No devices connected. (retry 3 of 20)...
[INFO] 19:26:31.405 Waiting for device: No devices connected. (retry 4 of 20)...
[INFO] 19:26:32.410 Waiting for device: No devices connected. (retry 5 of 20)...
[INFO] 19:26:33.616 Device is locked. Please unlock to proceed. (retry 1 of 20)...
[INFO] 19:26:34.832 Device is locked. Please unlock to proceed. (retry 2 of 20)...
[INFO] 19:26:36.023 Device is locked. Please unlock to proceed. (retry 3 of 20)...
[INFO] 19:26:37.121 Device is locked. Please unlock to proceed. (retry 4 of 20)...
[INFO] 19:26:38.262 Device is locked. Please unlock to proceed. (retry 5 of 20)...
[INFO] 19:26:39.459 Pairing in progress. Please choose to trust this computer. (retry 6 of 20)...
[INFO] 19:26:40.588 Pairing in progress. Please choose to trust this computer. (retry 7 of 20)...
[INFO] 19:26:41.791 Pairing in progress. Please choose to trust this computer. (retry 8 of 20)...
[INFO] 19:26:42.883 Pairing in progress. Please choose to trust this computer. (retry 9 of 20)...
[INFO] 19:26:44.006 Pairing in progress. Please choose to trust this computer. (retry 10 of 20)...
[INFO] 19:26:45.187 Pairing in progress. Please choose to trust this computer. (retry 11 of 20)...
[INFO] 19:26:46.882 [  0%] Beginning upload...

other changes

  • changed logic for picking dev image -- all version are parsed and picked exact or lower (fix for Game installs but not start with iOS 13.6.1 #517)
  • idea plugin: install was moved inside Run process. As before it was happening on UI thread and entire Idea was frozen (there was no update or locked device retries message);
  • using Java9 language level for RoboVM compiler/plugins.
  • amount for TODO added to point for code fragments that to be refactored (like Launchers, junit client depends on old structure)

reason: libmobiledevice was failing on every situation then: device is not connected, blocked or pairing not complete. considering build process and deployment might take minutes its sad to fail just due to blocked device.
changes: mitigation for these cases done by allowing 20 seconds for user to act to solve the situation:
- if no device connected -- waiting for device
- if device is locked -- waiting for unlock
- if pairing in progress -- waiting to complete

other changes:
- changed logic for picking dev image -- all version are parsed and picked exact or lower (fix for MobiVM#517)
- idea plugin: install was moved inside Run process. As before it was happening on UI thread and entire Idea was frozen (there was no update or locked device retries message);
- using Java9 language level for RoboVM compiler/plugins.
- amount for TODO added to point for code fragments that to be refactored (like Launchers, junit client depends on old structure)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants