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

Switch to pymobiledevice3 #75

Closed
zner0L opened this issue May 15, 2023 · 5 comments
Closed

Switch to pymobiledevice3 #75

zner0L opened this issue May 15, 2023 · 5 comments

Comments

@zner0L
Copy link
Contributor

zner0L commented May 15, 2023

It would seem that https://github.com/doronz88/pymobiledevice3/ would solve a lot of our iOS related problems. It already bundles usbmuxd and lockdownd for us in a PyPI package, which is amazing and would make #71 unnecessary, since we already have a way to manage python dependencies in our projects. It also supports everything we currently use libimobiledevice for and more:

@baltpeter
Copy link
Member

Looks cool. Let's give it a go.

@zner0L
Copy link
Contributor Author

zner0L commented May 24, 2023

I was so sure that switching to pymobiledevice3 was the best option, but now I found https://github.com/danielpaulus/go-ios, which implements the ability to install profiles in supervised mode, implements many features of pymobiledevice3 and is already distributes via npm (though the postinstall script seems to be a little broken). Sadly, it also lacks some features I liked in pymobiledevice3, notably creating and restoring backups, which I was planning to use for non-jailbreak installation of supervision and device reset. So, I see two options going forward:

  • Implement session escalation for supervised devices in pymobiledevice3 (they seem to release quite often) and use that
  • Fix the postinstall in go-ios and use that, ignoring backup and restore

@zner0L
Copy link
Contributor Author

zner0L commented May 24, 2023

Well, I also just tested both on Windows and both still need the Apple Device Drivers, of course, but work without any other configuration.

@zner0L
Copy link
Contributor Author

zner0L commented May 25, 2023

I lean towards implementing session escalation in pymobiledevice3, because I like the API more and the ability to easily extend it to add new functions. And with autopy we have a way to deliver python dependencies relibaly anyway and don’t need our depenendecies to be on npm. What do you think, @baltpeter?

@baltpeter
Copy link
Member

I've only taken a quick glance at them, so I don't know which one is "better". I don't really have a preference regarding a Go vs. Python dependency. The Go one has the disadvantage that it doesn't currently ship arm binaries.

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

No branches or pull requests

2 participants