danielpaulus / go-ios

This is an operating system independent implementation of iOS device features. You can run UI tests, launch or kill apps, install apps etc. with it.
MIT License
811 stars 163 forks source link

iOS 17 support #294

Open mega6453 opened 8 months ago

mega6453 commented 8 months ago

image mount fails to get iOS 17 developer disk image and looks like there is some changes with iOS 17 as per some websites. How to handle this? May I know that are you working on that to find a solution for iOS 17?

Thanks

Valkhes commented 8 months ago

The whole image system has been changed with iOS 17, it's now using personalized developer disk image. To explain very quickly, you now have a specific developer disk image created for your phone. go-ios doesn't handle it for the moment, but I think based on the go-ios discord they are working on it, or planning to work on it soon, at least If you are in a rush, I suggest taking a look at pymobiledevice3, it's in python and not in go, but it handle it already.

mega6453 commented 8 months ago

Thanks @Valkhes for the update. I checked pymobiledevice3. But looks like "NOTE: Currently, this is only supported on macOS". I'm looking for windows OS. If you know any other library that does this, please let me know. Thanks.

danielpaulus commented 8 months ago

The first PRs are already open and we are working on it. Stay tuned.

salphaon commented 8 months ago

I was successful in mounting developer image on ios 17.0.1 device via pymobiledevice3.

After that, ios runwda fails. Is there anyone who can help me with this?

jobeylev commented 7 months ago

The first PRs are already open and we are working on it. Stay tuned.

Hey, is there any kind of beta version we can try of your solution? We have quite a large automation operation that depends on getting iOS 17 support.

billyxu008 commented 7 months ago

We are having issue using the go-ios-linux tool to start the wda for iOS 17. This is the error message we have: "Could not start service:com.apple.testmanagerd.lockdown.secure with reason:'InvalidService'. Have you mounted the Developer Image?","level":"fatal","msg":"Failed running WDA", If you guys can take a look at this that would be great!

gusoard commented 6 months ago

This is the error message we have: "Could not start service:com.apple.testmanagerd.lockdown.secure with reason:'InvalidService'. Have you mounted the Developer Image?","level":"fatal","msg":"Failed running WDA", If you guys can take a look at this that would be great!

This is related to one of the changes of iOS 17 on how the services are started. Is something being worked on. You can check a bit more info in pymobiledevice3 project

lnguyen234 commented 6 months ago

Hi, is there any update that we can use launch with iOS17+ at this time? Thanks

danielpaulus commented 4 months ago

ios17 support is now mostly merged to main. Launching apps and running xctest works. You can also use it on Linux. I will work on Windows support now and then make a release.

delphi007 commented 4 months ago

Many thanks to the effort for ios17 to work. Looking forward to the new release!!!

mega6453 commented 4 months ago

Thank you very much for working on iOS 17 support.. Waiting for the windows release..

lnguyen234 commented 4 months ago

@danielpaulus Thank you very much!

krishtoautomate commented 4 months ago

still facing issues with ios17 in macos:

./go-ios tunnel start --udid=00008101-001C15A20AD2001E
{"err":"NewPairRecordManager: failed to get self identity: createSelfIdentity: failed to open file for writing: open /var/db/lockdown/RemotePairing/user_501/selfIdentity.plist: no such file or directory","level":"fatal","msg":"could not creat pair record manager","time":"2024-02-16T17:08:07-05:00"}
wojciech-kulik commented 4 months ago

Can we debug on iOS 17? I keep getting this error:

{"level":"error","msg":"Could not start service:com.apple.debugserver.DVTSecureSocketProxy with reason:'InvalidService'. Have you mounted the Developer Image?","time":"2024-02-17T22:29:56+01:00"

I also tried main branch and ios-17 with the same result.

mega6453 commented 4 months ago

@danielpaulus Waiting for windows release.. Any update please ?

delphi007 commented 3 months ago

Any progress, update or plan for iOS 17 support ?

wojciech-kulik commented 3 months ago

@delphi007 if you need iOS 17 support, for now, you can use pymobiledevice3 tool.

delphi007 commented 3 months ago

@wojciech-kulik Actually I have been using go-ios in my project for several years and does not want to switch to python based solution. I just want to know how long will it take for go-ios to support iOS 17, 1 month, 2months, half year or maybe feasibility is still to be verified. After I know the time, I will decide if I should switch to pymobiledevice3.

Thank you!

Schlaubischlump commented 2 months ago

still facing issues with ios17 in macos:

./go-ios tunnel start --udid=00008101-001C15A20AD2001E
{"err":"NewPairRecordManager: failed to get self identity: createSelfIdentity: failed to open file for writing: open /var/db/lockdown/RemotePairing/user_501/selfIdentity.plist: no such file or directory","level":"fatal","msg":"could not creat pair record manager","time":"2024-02-16T17:08:07-05:00"}

You can get past this error if you disable SIP. I know, not a good solution, but it will work. But even after that I just run into the next error, when I try to start the tunnel

mega6453 commented 2 months ago

@danielpaulus Any update on this please?

delphi007 commented 2 months ago

Any update is welcome. No news is really bad news. Now I finally switched to pymobiledevice3, but keep an eye on go-ios. Hope some day this year I will see the 2024 release for go-ios. Good luck. (After I tried pmd3, I understood it's really a big challenge for go-ios to be updated, it will take time...)

mega6453 commented 2 months ago

@delphi007 is there any direct windows executable for py3?

krishtoautomate commented 2 months ago

Will pymobiledevice3 work to start wda?

nanoscopic commented 1 month ago

Will pymobiledevice3 work to start wda?

They added the iOS 16 method to start XCTests.

They don't have a function to start XCTests on iOS 17 currently.

There is some suspicious stuff claimed by a user on their boards that you can alter WDA to be an app you can start just like any app though instead of starting it as an XCTest. I haven't seen any confirmation yet if that is true though or what restrictions that might place on the running WDA. I haven't tried it myself either. You could give that a go.

Also unsure why questions about pmd3 are being asked here. Maybe go ask them?

delphi007 commented 1 month ago

@delphi007 is there any direct windows executable for py3?

I have to install python and pymobiledevice3, it works perfect! I just tried it on Linux & Mac, don't have time to try it on windows. I think it should work on windows.

delphi007 commented 1 month ago

Will pymobiledevice3 work to start wda?

They added the iOS 16 method to start XCTests.

They don't have a function to start XCTests on iOS 17 currently.

There is some suspicious stuff claimed by a user on their boards that you can alter WDA to be an app you can start just like any app though instead of starting it as an XCTest. I haven't seen any confirmation yet if that is true though or what restrictions that might place on the running WDA. I haven't tried it myself either. You could give that a go.

Also unsure why questions about pmd3 are being asked here. Maybe go ask them?

I have tried the above solution. Build WDA , delete those framework, resign the directory with iOS App Signer. Then after launch the wda as application, the application on PC can talk to wda smoothly.

It works! Just try it.

krishtoautomate commented 1 month ago

Works perfectly with devicectl. Thanks

sam80180 commented 2 weeks ago

Will pymobiledevice3 work to start wda?

They added the iOS 16 method to start XCTests. They don't have a function to start XCTests on iOS 17 currently. There is some suspicious stuff claimed by a user on their boards that you can alter WDA to be an app you can start just like any app though instead of starting it as an XCTest. I haven't seen any confirmation yet if that is true though or what restrictions that might place on the running WDA. I haven't tried it myself either. You could give that a go. Also unsure why questions about pmd3 are being asked here. Maybe go ask them?

I have tried the above solution. Build WDA , delete those framework, resign the directory with iOS App Signer. Then after launch the wda as application, the application on PC can talk to wda smoothly.

It works! Just try it.

in case someone needs it, the relevant page is here:

https://zhuanlan.zhihu.com/p/673319266?utm_id=0