I will have to do something with Appium, but I've forgot many already. But I will be started again anyway. So, I just started install dependencies on laptop.


Let's go!

First of, to check which packages needed, I’ve installed appium-doctor as npm install -g appium-doctor. But something made bothering me because I didn't know what changed after Mojave OS. Actually, this is already happened since High Sierra OS, but I realized while installing.

But...

Many people will follow how to install on the web, but they are not talking about detail of troubleshooting. I just want tell how to install idevicelocation on Mojave. I had keep failing to install while running make command. I had no idea why this happen. Because of I didn’t know what this mean.

make[2]: Nothing to be done for 'all'

After recognized, this is not kind of error, I had run sudo make install and I saw real error.

install: /usr/bin/idevicelocation: Operation not permitted

Once again, I had no idea why this happen. :'(

Sunshine!

But there is a reason why this message came and this was not about idevicelocation installing, this was about Mojave. They told, after installed High Sierra, OS blocked /usr/bin directory to use for security reason. You can read tweet,

So, we can use /usr/local instead of that. Then, everything will be fine. This is how,

./configure --prefix=/usr/local

You will see something like this,

Enjoy!


Update - Java 8

Java 8 is not easy to install through Homebrew. Java 8 is no longer available from Homebrew. So, you can install OpenJDK like this way,

brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8

After then, you can set JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home like this.