Comments (3)
Thanks for the detailed write up. We wanted to get FBDeviceControl
in an early stage so we could get more eyes on it and work on a general solution, rather than obscure the existence of it in XCTestBootstrap
.
[DTXMessage alloc] returns nil. It seems the class is not fully loaded at runtime. Had to replace with [NSClassFromString(@"DTXMessage") alloc].
This must have slipped through when we switched from hard to weak linking. NSClassFromString
is the correct way of doing this, so a PR would be appreciated :)
Path to XCTest.framework and IDEBundleInjection.framework are not provided or dynamically determined, and so when the data package is copied over to the device, those frameworks are not included (and thus the test runner app will crash due to not being able to find them).
I'll defer to @marekcirkos on this one, who is responsible for the bulk of FBDeviceControl
. If you have a solution to this, please put up a PR.
No CodeSignProvider is ever provided to the bundles that are copied to the device. Therefore, even if I supply a valid path to the private frameworks to copy to the device, the executables can not be run as they are not signed appropriately.
This is currently by design. For obvious reasons we don't check-in certificates or any keys, it's up to the end-user to set this up. When we expose this through the CLI we can pick a reasonable default (where appropriate) or provide a way of inferring this from the Application, or explicit argument passing. We're always going to need a signing identity so this is just a matter of making it as convenient as possible.
I had assumed that this project was already working internally for you guys, but given these three obstacles I have to conclude that either some special setup is required (if so, it would be great to detail in the README), or that the open source project isn't intended to be fully functional out of the box?
We'll put this up a README
detailing the experimental nature of the project at this stage. It isn't (currently) a full complement to FBSimulatorControl
, but in time we hope that it can fulfill a similar purpose.
from idb.
Thank you for checking it out.
I am pretty sure I already fixed 1).
According to 2) 3). FBDeviceTestPreparationStrategy
assumes that you have already prepared and signed:
- test bundle you want to execute,
- application used to launch test,
- application data bundle with
IDEBundleInjection.framework
,XCTest.framework
and test bundle properly structured.
This way you lose much less time waiting for test preparation and is much more robust as code signing on the fly gets tricky. We plan to opensource separate strategy or script that can do all of this for you and then properly document everything related to FBDeviceControl
.
from idb.
Closing due to inactivity.
from idb.
Related Issues (20)
- Is it necessary to additionally define BASE_IDB_FILE_PATH under Windows?
- IDB Launch command not working HOT 1
- Stream not working
- Your CLT does not support macOS 13.4
- [Question] It is possible to control the device from the browser HOT 1
- video-stream :- help required to dynamically compress or scale down minicap framess
- The --fps option for video-stream doesn't work.
- when use idb and ffmepg to record video, Appium Session lose HOT 1
- Cannot build idb_companion in Xcode 15.0 on the current master (2022-09-19) HOT 4
- [Request] Support app icon PNG data command HOT 4
- [iOS 17] idb screenshot not working HOT 4
- Maps permission pop-up not shown
- iOS 17 support HOT 16
- idb list-targets return "No targets available" HOT 2
- Are there any plans to release a new version?
- Build companion via github actions workflow HOT 6
- Does idb automate the real devices ?
- Does idb's screen recording command support record sound?
- Swift Package manager support for FBSimulatorControl
- Stream from simulator appears distorted
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from idb.