Prioritize using the Xcode path set in the DEVELOPER_DIR environment variable when available. (#533)

diff --git a/src/ios-deploy/ios-deploy.m b/src/ios-deploy/ios-deploy.m
index 63355ba..7792ba8 100644
--- a/src/ios-deploy/ios-deploy.m
+++ b/src/ios-deploy/ios-deploy.m
@@ -314,19 +314,26 @@
 CFStringRef copy_xcode_dev_path(void) {
     static char xcode_dev_path[256] = { '\0' };
     if (strlen(xcode_dev_path) == 0) {
-        FILE *fpipe = NULL;
-        char *command = "xcode-select -print-path";
+        const char* env_dev_path = getenv("DEVELOPER_DIR");
+        
+        if (env_dev_path && strlen(env_dev_path) > 0) {
+            strcpy(xcode_dev_path, env_dev_path);
+        } else {
+            FILE *fpipe = NULL;
+            char *command = "xcode-select -print-path";
 
-        if (!(fpipe = (FILE *)popen(command, "r")))
-            on_sys_error(@"Error encountered while opening pipe");
+            if (!(fpipe = (FILE *)popen(command, "r")))
+                on_sys_error(@"Error encountered while opening pipe");
 
-        char buffer[256] = { '\0' };
+            char buffer[256] = { '\0' };
 
-        fgets(buffer, sizeof(buffer), fpipe);
-        pclose(fpipe);
+            fgets(buffer, sizeof(buffer), fpipe);
+            pclose(fpipe);
 
-        strtok(buffer, "\n");
-        strcpy(xcode_dev_path, buffer);
+            strtok(buffer, "\n");
+            strcpy(xcode_dev_path, buffer);
+        }
+        NSLogVerbose(@"Found Xcode developer dir %s", xcode_dev_path);
     }
     return CFStringCreateWithCString(NULL, xcode_dev_path, kCFStringEncodingUTF8);
 }