Phonegap:解析不能在ios或android

时间:2015-06-30 18:14:14

标签: javascript ios cordova parse-platform

我正在使用Phonegap 3.0,并尝试将其与解析集成,以便我可以在我的应用上签署用户。我有用Javascript编写的代码并测试了它,它在浏览器上运行时有效。我可以初始化解析,只在浏览器上创建对象。当我在ios或Android设备上运行应用程序时,解析代码似乎无法正常工作/无法执行。

我尝试过的事情:   - 安装了Parse phonegap插件   - 将Parse建议的所有相关SDK添加到源中   - 从XCode运行项目而不使用" Cordova模拟ios"

在过去的几天里,我一直在四处寻找答案,似乎无法找到任何答案。我假设有一种方法可以做到这一点,我希望能够通过解析来注册用户。我可以在项目在浏览器上运行时执行此操作,但在ios或Android模拟器和真实设备上运行时它会停止工作。

function tryMe(){

    Parse.initialize("My APP ID", "My Client ID"); //I have my actuals id's here


    alert("Button Clicked");
    var TestObject = Parse.Object.extend("TestObject");
    var testObject = new TestObject();
    testObject.save({foo: "bar"}).then(function(object) {
        alert("yay! it worked");
    });
    alert("Done")

}

单击一个按钮时会运行此代码,它只是创建一个简单的测试对象。执行了第一个警报,但之后没有执行任何操作,我从未看到过它的工作情况"或者"完成'警报。

非常感谢任何帮助

编辑:

这是我的HTML文件的内容,我已经在device.ready函数中封装了解析初始化,我可以确认它已被调用,并且我已将cordova.js包含在文件中。它仍然无法正常工作

<!DOCTYPE html>

<!--<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">-->
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<script src="//www.parsecdn.com/js/parse-1.4.2.min.js"></script>

<!-- Include meta tag to ensure proper rendering and touch zooming -->
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Include jQuery Mobile stylesheets -->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">

<!-- Include the jQuery library -->
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

<!-- Include the jQuery Mobile library -->
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>


<title>Hello World</title>

<div id="login_form">

     <input type="text" id="first_name" placeholder="First Name">
     <input type="text" id="last_name" placeholder="Last Name">
     <input type="text" id="email" placeholder="Email">
     <input type="text" id="password" placeholder="Password">
     <button id='submit' onclick="submit()">Submit</button>
     <button id='register' onclick="segue('register')">Register</button>
     <button id='login' onclick="segue('login')">Login</button>
     <button id='forgot' onclick="segue('forgot')">Forgot</button>
     <button id='facebook' onClick="facebook()">Facebook</button>
     <button id='twitter' onclick="tryMe()">Twitter</button>
</div>

<script>

    document.addEventListener("deviceready", function(){

        Parse.initialize("fVPIrAy0Q5ymJitJPRNALwaVUcNYe9vNL0gGj8hx", "IJ3lsGc6USWSaOlxsc8wJsjNxRA8XuvJ3mI04YuN");

     }, false);

</script>

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>

1 个答案:

答案 0 :(得分:0)

我设法弄清楚了问题。似乎是因为我从Parse的网站上拉了Parse sdk

<script src="//www.parsecdn.com/js/parse-1.4.2.min.js"></script>

它不适用于任何模拟器,但它正在浏览器上工作。我手动为sdk创建了一个文件,一切正常。