Got an error:
Id: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Got an error:
Id: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Hi Vani,
I would recommend going through this tutorial step-by-step as there are a lot of important parts to the installation that are easily missed:
https://www.katalon.com/resources-center/tutorials/set-up-mobile-automation-project-macos/
If that doesn’t work, can you try clicking on error message you received - do you get more info? If so, can you please provide that?
Hi Chris,
I did follow the instructions and I am sure I haven’t missed anything.
The one difference that I observed is that- when I execute the command
“sh ./Scripts/bootstrap.sh -d” in termimal at WebDriverAgent level, I see difference from the one showed in the tutorial video.
Below is the error I see when i try to run the build for WebDriverAgentLib
Hi Vani,
I think I’ve encountered this error before. For some reason, when you install Appium on MacOS, the WebDriverAgent/Carthage directory - where the project dependencies are stored - is actually a file, not a directory. That means that the dependencies can’t be downloaded. That’s what the detailed error is telling you - it can’t find the “FBIsVisible” code, which is pulled in from an external library with the Carthage tool.
You can confirm if this is the case by looking at the Carthage file’s properties in your WebDriverAgent folder:
ls -l Carthage
If the output doesn’t start with a “d”, then it’s just a file.
Correct:
drwxr-xr-x
Incorrect
-rwxr-xr-x
To fix this, in your WebDriverAgent folder, remove the Carthage file:
rm Carthage
Then create a directory correctly:
mkdir Carthage
Finally, try running the bootstrap.sh command again:
./Scripts/bootstrap.sh -d
Hope this helps!
I see “drwxr-xr-x”, so i would assume that it is saved as Directory. I have no idea what else is going wrong.
OK, looks like you’re set up correctly and this might actually be a WebDriverAgent compatibility issue with Xcode, specifically with the XCElementSnapshot class.
Do you know if you’re running Xcode 10? In that case, there is an open issue: WDA pops error in Xcode Version 10.0 beta 4 (10L213o) · Issue #968 · facebookarchive/WebDriverAgent · GitHub
To work around it, you should be able to set the “Other Linker Flags” for your project to weakly link the XCElementSnapshot class:
The setting for Other Linker Flags is:
-Wl,-U,"_OBJC_CLASS_$_XCElementSnapshot"
Hope this helps!
Yes I am running Xcode 10
Unfortunately, I don’t find “Other Linker Flags”
Hi Vani, can you verify that you have the “All” button at the top checked and not the “Basic” button? There should be a whole lot of Linking options when you select “All”:
Hi Chris,
Your suggestion for “Other linker Flags” did fix my build failure issue for “WebDriverAgentLib”. Build still fails for “WebDriverAgentRunner” for errors:
Showing All Messages
Build system information
error: Failed to create provisioning profile. The app ID “com.facebook.WebDriverAgentLib” cannot be registered to your development team. Change your bundle identifier to a unique string to try again. (in target ‘WebDriverAgentRunner’)
Showing All Messages
Build system information
error: No profiles for ‘com.facebook.WebDriverAgentLib’ were found: Xcode couldn’t find any iOS App Development provisioning profiles matching ‘com.facebook.WebDriverAgentLib’. (in target ‘WebDriverAgentRunner’)
Hi Vani, glad to hear we’re making progress!
The error you’re seeing is because of code signing and provision profiles in iOS. They are the ways that Apple guarantees an app is made by an authorized developer and that it can run on specified devices. It’s also one of the biggest points of confusion in iOS development.
In the case of WebDriverAgentRunner, in order to run on a device or simulator, the app must be “signed” by your organization or your own developer certificate. Because your team is probably not Facebook, you can’t sign an app with a bundle identifier of “com.facebook.*” Fortunately, that’s easy to change!
I think that should fix the latest error (I don’t think you need to set up signing for WebDriverAgentLib).
Please let me know how that works out,
Chris
Thank you Chris. With your help i could build successfully both WebDriverAgentLib and WebDriverAgentRunner
That’s great news, glad to hear it, Vani!
Hi Chris Trevarthen
Can you help me with this :
Everytime i ask something in Forum, no one from Katalon Support help me.
Thanks
Hi Chris,
Is it ok if no ‘Signing Certificate’ shows up after selecting ‘Automatic manage signing’ and the team for ‘WebDriverAgentLib’ in Xcode however the build is successful.I am concerned of any issues I may face during my testing.
Certificate shows up fine for ‘WebDriverAgentRunner’.
Hi Vani, I don’t have WebDriverAgentLib signed on the simulators on my machine or our CI server, and it seems to work fine. The key part is to sign WebDriverAgentRunner, which is what gets installed on the devices, so I think you should be good.
When I try to spy on Mobile Object on real iOS device, below error show up and that is when I thought may be WebDriverAgent needs signing certificate.
Hi Vani,
I haven’t tried on a real device, but will do so today. Have you tried on a simulator with any luck?
In the meantime, I wonder if this might help you:
https://github.com/facebook/WebDriverAgent/issues/902#issuecomment-383362376
- Chris
No Chris, had no luck with that either.
In my simulator, my app gets installed.It flashes as if it is about to open but never does.
If it won’t run on your simulator, either, that seems like it’s still a signing issue. There are a couple of things to try per the xcuitestdriver github README: https://github.com/appium/appium-xcuitest-driver
First make sure you have these dependencies installed:
brew install libimobiledevice --HEAD
npm install -g ios-deploy
You may also be running into security issues with Accessibility:
https://github.com/appium/appium-xcuitest-driver#real-device-security-settings