Difficulty Connecting to Server

I am finding it impossible to connect to Blynk server. I have been trying for months. I’m using Wemos mini. I have a led widget on the console and Iphone it say’s not connected but I can turn it on and off from the console and vise versa. Here is my code, Thank you.

/*************************************************************

  You’ll need:
   - Blynk IoT app (download from App Store or Google Play)
   - ESP8266 board
   - Decide how to connect to Blynk
     (USB, Ethernet, Wi-Fi, Bluetooth, ...)

  There is a bunch of great example sketches included to show you how to get
  started. Think of them as LEGO bricks  and combine them as you wish.
  For example, take the Ethernet Shield sketch and combine it with the
  Servo example, or choose a USB sketch and add a code from SendData
  example.
 *************************************************************/

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID "XXXXXXX"
#define BLYNK_DEVICE_NAME "Test"
#define BLYNK_AUTH_TOKEN "XXXXXXXXX"


// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Network";
char pass[] = "Stub";
// Select your pin with physical button
const int btnPin = 2;

WidgetLED led3(V0);

BlynkTimer timer;

// V0 LED Widget represents the physical button state
boolean btnState = false;
void buttonLedWidget()
{
  // Read button
  boolean isPressed = (digitalRead(btnPin) == LOW);

  // If state has changed...
  if (isPressed != btnState) {
    if (isPressed) {
      led3.on();
      Serial.println("Led ON");
    } else {
      led3.off();
      Serial.println("Led OFF");
    }
    btnState = isPressed;
  }
}
void setup()
{
  // Debug console
  Serial.begin(115200);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
    Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
  Blynk.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

You should only have one of these Blynk.begin statements in your code. You should keep the first one and comment-out the second one.

This code is never being called, so you should remove it, at least for now.

You need a BLYNK_WRITE(V0) function if you want to know when a widget attached to virtual pin V0 has changed state.

Pete.