Parse.initialize breaking Angular Cordova app in iOS simulation

So I have an app in angular with cordova, that works as expected when served to a local web host, pushing and pulling the login data from parse.com.

But, when I compile and emulate in an IOS emulator, it appears that the command

parse.initialize("453ioejblahgf3oi5j35p","f30903959fblahblah"); 

is making $state.go fail to work.

:(

Upon closer inspection, it seems as though Parse.initialize("faerfaerfaerf";"aefaerfeafaer"); is putting a stop to all code that comes after it --

$scope.registerNowClick = function (user) {
        //Copy the user to $scope.tmpUser
        $scope.tmpUser = angular.copy(user);


                // PARSE INITILIZATION CALL     Parse.initialize("Zmqvefjaeifai34jofewOvRDxfNdoxH", "HlzTePUSi3fja305f0j341");
        alert('Register Now was clicked w/ Email:' +     $scope.tmpUser.email);

        // PARSE ADD A USER
        var user = new Parse.User();
        user.se blah blah

If I move the alert above the parse.init, it fires. But when it's after the parse.init, it doesn't.

Javascript is interpreted language. Meaning that, any run-time errors wont halt the program, until that particular line is reached.

Looking at your problem, it looks like Object Parse is not defined. Have you included any parse.js files that it may require? Move Parse.initialize() to the end of the script so that it wont halt the rest of the code from executing.

I have put my Parse initialization in a separate UserService.init() that must be resolved at app startup.

.state('tab', {
    url: "/tab",
    abstract: true,
    templateUrl: "templates/tabs.html",
    resolve: {
        user: function (UserService) {
            var value = UserService.init();
            // alert(value); // for debugging
            return value;
        }
    }
})

Here is a snippet of the UserService code

   init: function () {

    var value = null;

    var deferred = $q.defer();
    // if initialized, then return the activeUser
    if (parseInitialized === false) {
        Parse.initialize(ParseConfiguration.applicationId, ParseConfiguration.javascriptKey);
        parseInitialized = true;
        console.log("parse initialized in init function");
    }

    setTimeout(function () {
        var currentUser = Parse.User.current();
        if (currentUser) {
            deferred.resolve(currentUser);
        } else {
            deferred.reject({error: "noUser"});
        }
    }, 100);
    return deferred.promise;
},

The complete solution is here ... https://github.com/aaronksaunders/dcww