iOS device support for STF #887
Replies: 2 comments 4 replies
-
|
You do realize I did this already years ago right? I abandoned the work because STF is a poor fit for iOS. Did you at least look at my open source work doing this and start from there? It's a waste of time not to. You probably need a short history lesson on iOS automation ( the version of it from my point of view ):
In more recent history ( within last two years ) Sauce Labs began funding and steering go-ios, and Daniel Paulus doesn't really do much with it anymore. Barely anyone in the iOS automation ecosystem gets along, and everyone is hiding their own private advancements on all of this stuff. Many of us have private forks with extended features and/or entirely different private implementations written from scratch... There are less than a dozen people in the world ( outside of Apple employees at least ) who understand all of this stuff sufficiently to put all the pieces together and advance them. If your goal is to throw together crap using AI to do all this, you certainly can, but my advice would be as follows:
|
Beta Was this translation helpful? Give feedback.
-
|
Wow thanks @nanoscopic ! I was not aware of all of that!! I'd say my goal is getting a good enough iOS support with AI. There isn't enough of a reason to spend months/years writing all of this by hand with what little free time I have now a days. I've used STF extensively with Android which I've always loved. Appium + WDA was always an awful experience compared to STF so this basically was an experiment how quickly AI could make a good enough STF support (it did not take that long to do). I appreciate the insight! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all — I've been working on iOS support for STF. iPads and iPhones appear in the UI alongside Android devices: live screen in the browser, real touch, the usual remote-control flow. It's a fork and any feedback is welcome!
Repo / branch: https://github.com/renegadelink/stf/tree/ios-support
Docs:
doc/ios-admin.md,doc/ios-architecture.mdWhat works
Capabilities are auto-detected per device depending on the state stf detects (example: is companion app running? is the device jailbroken?)
Screen capture picks a backend automatically based on the host: Valeria USB (H.264, 30–60 fps) on Linux, AVFoundation (CoreMediaIO) on macOS, with Accessibility / screenshotr fallbacks on either. The Linux Valeria path uses our
screen-mirrorpmd3 fork.Try it
The only piece an admin has to keep signed is the small
STFTouchTests-Runner.appcompanion (Apple's normal 7-day free / 1-year paid cert lifetime applies). rpcserver and other on-device helpers are ad-hoc signed and don't expire.Free-cert signing requires a Mac
If you're using a free Apple ID (no paid Developer Program membership), Apple only issues 7-day signing certs through Xcode's automatic-signing flow — there is no web portal or CLI for the free tier. So the first time signing step needs a Mac with Xcode: sign in under Preferences → Accounts, build any throwaway iOS app once against your Apple ID so Xcode generates a 7-day provisioning profile, then copy the resulting
.mobileprovisionand exported.p12over to your STF host. Weekly refresh is the same dance. Paid Developer accounts skip this —fastlane sigh --forceor the Apple developer portal both work from any OS, and the cert lasts a year.Sharing logs
provider-ios,device-ios, and the companion log are the three useful sources; the troubleshooting doc has a per-symptom map. pmd3 invocations support--redactto scrub UDIDs / hostnames / possessive device names (e.g.<Owner>'s iPad) before pasting.Feedback
Not opening a PR yet — want real-world testing across more devices first. Thanks for taking a look.
Beta Was this translation helpful? Give feedback.
All reactions