Phonegap:解析不在 ios 或 android 上初始化

Posted

技术标签:

【中文标题】Phonegap:解析不在 ios 或 android 上初始化【英文标题】:Phonegap: Parse not initilizing on ios or android 【发布时间】:2015-06-30 18:14:13 【问题描述】:

我正在使用 Phonegap 3.0,并尝试将其与 parse 集成,以便我可以在我的应用程序上登录用户。我有用 javascript 编写的代码并对其进行了测试,它在浏览器上运行时可以工作。我只能在浏览器上初始化解析和创建对象。当我在 iosandroid 设备上运行应用程序时,解析代码似乎不起作用/没有被执行。

我尝试过的事情: - 安装 Parse phonegap 插件 - 将 Parse 建议的所有相关 SDK 添加到源代码中 - 从 XCode 运行项目,而不是使用“Cordova emulate 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】:

我设法找出了问题所在。似乎是因为我从 Parse 的网站上提取了 Parse sdk

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

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

【讨论】:

以上是关于Phonegap:解析不在 ios 或 android 上初始化的主要内容,如果未能解决你的问题,请参考以下文章

ajax中的phonegap XML解析器在iOS上出现错误

如何将cordova插件添加到不在phonegap注册表中的meteor?

PhoneGap Android 设备就绪但没有 Ajax

iPhone JSON框架不解析不在对象或数组内的JSON字符串对象

PhoneGap / iOS LocalNotification 应用程序在点击“查看”时崩溃

GCM Phonegap,如何将消息发送到手机的核心通知