-
Notifications
You must be signed in to change notification settings - Fork 427
refactor: Remove private frameworks from the list of imports #596
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
Conversation
it looks like the most complicated part there would be to make NSPredicate work properly with custom attributes. I knew it was going to explode some day. Basically we need to parse the initial predicate expression as a string and transform it into a block, where we could process custom snapshot properties (e.g. these starting with wd...) |
@mykola-mokhnach we can instead use
For
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lg. I've checked a few with a real device
What about the below fastlane version?
|
let me try 2.162.0... |
Thanks @KazuCocoa |
One way we found to link with XCTAutomationSupport was to use a fake dylib with a name from the allowed names and reexport XCTAutomationSupport through A bit of a hack but maybe that's something that you would want to employ? |
Thanks for the fix @mykola-mokhnach! Considering appium 2 is in beta, are there any plans to fix this for appium 1? (it still pulls in appium-webdriveragent v3, fix is in v4) (couple of workarounds: use your old |
@pwfcurry no, appium 1 is now unsupported. appium 2 is only in beta because the documentation hasn't been ready for a release. but in terms of its suitability for production use code-wise, it has been our only supported version for some time now. so it would make sense to update to appium 2 to take advantage of any fixes. |
This PR removes the explicit dependency to XCTAutomationSupport private framework because of the resends described in appium/appium#17174
The removal of the framework forces us to also remove all dependant classes, including XCElementSnapshot one. This PR replaces these dependant classes with interfaces. The only issue that ObjC does not allow to use default method implementations in protocol definitions, so we either need to introduce global helper methods for custom properties/extension methods or have a custom wrapper over XCElementSnapshot instances each time we need to call a customized entity on it. I've selected the second approach.