I recently bought a Raspberry Pi 3 Model B and I dont want to have a separate Monitor, keyboard etc hence wanted to try a headless setup and use VNC. Here is what I did

1. In Mac
Download Raspbian OS Available at Download
I downloaded “Raspbian Stretch with desktop”, round 1.78GB

2. Use Etcher to write the OS into the SD card ( Installation Guide)

3. You then need to enable SSH in Pi. For that create a file named “ssh” (without any extension) and copy it to the root folder of the SD card. (SSH Headless)

4. Now take out the SD card and insert it into Raspberry Pi.

5. Connect ethernet cable to Pi and other end to the Mac

6. Connect the power source ( I used Xiomi Redmi charger), wait for 1 minute for Pi to boot up.

7. To SSH into Pi, we need to know the ip address
Open terminal in mac and hit
ping raspberrypi.local
It will give you the ip address of the pi

8. Now SSH into pi, In terminal

ssh pi@ip address
// By default credentials
pwd: raspberry

If successfully logged in, you will get the Pi shell prompt. (You may have to accept the SHA key).

9. Next step is to enable VNC Server (Remote Access)

In Pi shell, hit

sudo raspi-config

enable VNC Server by doing the following:
• Go to Interfacing Options.

• Scroll down and select VNC > Yes.

Now VNC Server is enabled in Pi.

10. Down load VNC viewer in Mac (VNC Viewer)

11. Open up VNC viewer and provide the ip address and connect and thats it you will get the Pi interface. Once you have the interface, you can go to WiFi settings and
connect to the required WiFi and on next reboot you will get the new ip (use ping raspberrypi.local) and then connect again using VNC viewer. Enjoy