Tag: ios

JSON序列化使用networking

我有问题的方式,我收到服务器的JSON。 有学生数组(字典)包装在字典中: var students:[[String: String]] = [] students.append(["id":"2", "name":"joe"]); students.append(["id":"3", "name":"jake"]); students.append(["id":"4", "name":"may"]); students.append(["id":"1", "name":"donna"]); let json:[String:[[String:String]]] = ["students" : students] 当使用NSJSONSerialization打印JSON var data = NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted, error: &error) println(NSString(data: data!, encoding: NSUTF8StringEncoding)) { "students" : [ { "id" : "2", "name" : "joe" }, { "id" : "3", "name" : "jake" }, { […]

Phonegap开发应用程序不工作

我想用PhoneGap开始开发应用程序,最近两天我一直在试图弄清楚如何让我的iPhone(5S)工作。 我已经按照这里的步骤。 首先,我按照步骤1所述安装了PhoneGap CLI。我检查了PhoneGap CLI,Cordova和Node.js的版本。 这一切都正确安装。 我可以使用提供的命令创build应用程序或打开现有的应用程序。 但是当我用$ phonegap serve做最后一步的$ phonegap serve (当然我省略了'$'符号…)。 当我执行这个命令,我得到了 [phonegap] starting app server… [error] listen EADDRINUSE 当我通过访问http:// ip-address / PhoneGap Developer App在我的项目上显示的应用程序启动应用程序时,我看到一个页面,其中显示了connecting to device的文本。 之后,我打开手机上的PhoneGap Developer应用程序,填写IP地址和端口号,几秒钟后,它说ERROR等待几秒钟 – TIMED OUT 。 *注意我打开terminal窗口, right-click on project folder -> services -> open new terminal window for this folder ,因为否则我得到一个错误,说destination folder is not a […]

我如何插入一个datetypes到iOS Swift的MongoDB(通过JSON和Node.js)

有没有人设法用iOS Swift(或Objective C)在MongoDB中插入datetypes? 我知道我可以像这样存储一个string: let now = NSDate() let nowISO8601 = ISO8601Format.stringFromDate(now) 但是真的,我想要构造一个有效的JSON对象,并在插入到MongoDB中时生成一个datetypes。 下面是我的Swift代码的简化版本,通过Node.js Web服务发布到MongoDB: let dateData = ["some_date" : nowISO8601] if NSJSONSerialization.isValidJSONObject(dateData){ let url = NSURL(string: "http://mynodejsurl") var request = NSMutableURLRequest(URL: url!) var data = NSJSONSerialization.dataWithJSONObject(dateData, options: nil, error: nil) request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.HTTPMethod = "POST" request.HTTPBody = data let task = session.dataTaskWithRequest(request, completionHandler: […]

meteor:如何将原生移动应用程序指向部署的服务器

如果你有一个meteor应用程序模块是一个networking和原生移动应用程序托pipe,你怎么指向meteor的后端本地应用程序。 另外,meteor还在为本地应用程序访问前端吗?

Socket.io在本地UIWebView中无法升级

我已经好几天没有运气了。 任何帮助非常感谢 我意识到这是一个节点问题和iOS问题之间的交叉 – 事先道歉。 我正在尝试使用UIWebView(不是phonegap)在本地iOS应用程序中显示使用HTML5 / JS的简单协作白板。 JS使用socket.io连接到一个Node.js服务器来进行实时的涂鸦。 在浏览器中运行HTML / JS,包括移动Safari浏览器,套接字工作的很好。 但是,当相同的代码在webView中本机运行时,它将连接到服务器,但不会完成升级过程,因此服务器会将连接降级到轮询。 行为与NGINX代理是否正在被使用(它们被正确转发)以及是否使用ws:或wss:相同。 这是一个问题,因为实时绘图创build了太多的传输请求,导致应用程序缓慢,绘图不良,以及socket.io库引发错误: 在“socket.io/socket.io.js 4720行”错误:调用了太多次之后。 我有一个NSURLProtocol的子类来捕获和查看socket.io请求。 我可以修改请求,使服务器开心,但我不知道要修改什么。 输出,显示request.URL.absoluteString,request.allHTTPHeaderFields和request.HTTPBody,以及响应。 z2015-02-13 03:36:07.424 DrawApp[2286:553479] ||————————————————————— 2015-02-13 03:36:07.426 DrawApp[2286:553479] Request URL: http://192.168.0.16:8081/socket.io/socket.io.js 2015-02-13 03:36:07.432 DrawApp[2286:553479] RequestHead: { Accept = "*/*"; Referer = "http://192.168.0.16:8081/mobilechat/16074204562:troy"; "User-Agent" = "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like […]

高效的聊天室后端?

我目前正在试图find最好的方式来编写一个交互兼容的即时通讯聊天应用程序与iOS和Android。 这个想法是,用户注册到应用程序,然后随机聊天是1对1的应用程序内的其他用户随机配对。 就像上面提到的,我希望这是跨平台,但是我只是想让iOS开始,但是我希望能够将其扩展到android的未来。 主要的问题是我想创build一个可扩展的东西。 完成后,它应该能够无缝地支持100个用户,但至less可以select在未来进一步扩展。 我目前研究的是XMPP和NodeJS,我原本以为这些是为了更多的WhatsApp群聊应用程序,但是最近发现Tinders后端是NodeJS。 用户数据存储(注册信息,例如年龄,性别)将在mySQL和PHP中完成。 我也在想连接用户的PHP。 我原本是想写一个Web应用程序(HTML 5),然后用一个webView制作一个iOS应用程序,并简单地将应用程序链接到webView。 有人能指出我正确的方向吗? 婴儿床的笔记随机分配一对一的聊天(认为tinder没有联系人列表群聊等)能够缩放保持效率能够跨平台(Android后添加)

iOS – 使用Websockets进行自动完成

我正在构build一个iOS应用程序,允许用户在大型数据库中search书籍。 我们希望实现一个“自动完成”function,在用户input时从服务器检索标题,以在表格视图中提供build议(我们的后端使用排名algorithm来获取相关结果)。 我们正在使用Starscream框架来实现Websockets,但是我想获得一些关于实现此function的最佳方式的build议。 到目前为止,我已经提出了两个select: 用户启动应用程序时打开Websocket连接,并在整个会话中保持此连接。 networking连接的变化将导致pipe道被破坏,所以需要使用客户端ping来检测这个并build立一个新的连接。 当用户点击search栏开始input时,打开Websocket连接。 只有在search栏处于活动状态(键盘存在时)时,连接才会保持打开状态,并且在键盘被解除时断开连接。 有一件事要记住,应用程序有多个视图和function,不涉及search,实际上需要自己的连接(例如,消息function当前使用自己的WebSocket连接发送/接收来自其他用户的消息,其他视图从REST API下载内容)。 所以这引出了另一个问题: 从同一个应用程序同时维护多个WebSocket连接是否有缺点? 另外,有哪些好的做法可以用来确保连接通过networking转换(即从WiFi到蜂窝)保持活跃? 这个问题我有很多问题,特别是在消息服务方面。 任何build议/这个话题的帮助将不胜感激。 作为参考,我们的服务器使用Node.js和Websockets的ws框架。

iOS应用程序中的节点和npm

在iOS应用程序中使用node和npm是什么? 在我的采访中,我被要求创build一个使用node和npm包的iOS应用程序。 我可以在没有他们的情况下提出申请,稍后再embedded他们,我是这个领域的一个小老板。 请帮助,提前致谢!

维护一个API Rest的多个版本

我有一个快速APIrest,这是由iOS客户端使用。 有时我必须对某些端点进行更改(重大更改),我将发布一个新的iOS应用程序,但如果客户端正在运行应用程序,并且我部署了新的后端版本,则可能不会发生所有用户都更新客户端事件。 如何维护后端的多个版本? 在代码中没有复杂的规则的情况下,做什么是一个好方法 如果我执行不同的多个实例的基础和响应每个客户端与正确的版本,现在处理数据库? 如何@MikeBrant先生我会减less范围 我在用着 节点 performance Postgres的 我没有使用像sailjs或loopback的框架

推送iOS和Android Interval Poll方法的通知服务器后端

我正在为iOS和Android编写一个NodeJS推送通知服务器。 目前,一旦我获得设备令牌,我将它们保存在本地MongoDB数据库中,然后在发生更改时触发通知。 问题是,“更改”(信息添加)发生的数据库不是我自己的。 这是第三方的服务器。 所以我知道服务器的变化是通过使用第三方提供的API。 我目前的解决scheme是使用setTimeout每隔X分钟发出一个请求来检查更改,然后基于此发出通知。 缩短的时间间隔是10分钟,最长的时间是1小时。 我基于时间dynamic地改变时间间隔。 我的问题是(是), 1.) setTimeout方法是否是解决这个问题的最好方法? 如果不是我还能使用什么? 2.)有什么办法可以在这种情况下实现Web Sockets ? 3.)如果setTimeout是唯一的select,我应该遇到什么样的问题? 这是什么目前的function看起来像 function start_notifications_server_driver() { if(current_user_info.num_sent <= current_user_info.frequency){ //I removed the interval object on here because it's quite large and would take up space here for(var i = 0; i < intervals.length; i++){ if(check_if_time_between(intervals[i])){ if(dev_mode) console.log("Returned true for", intervals[i]); temp_interval […]