Tag: ios

Swift / iOs /套接字:如何接收套接字“事件免费”的数据?

我正在努力构build一个简单的基本的真正的聊天应用程序,使用苹果的SWIFT客户端部分和nodejs的服务器端。 我使用websockets库来pipe理客户端/服务器通信。 我很快注意到,似乎我无法捕捉来自我的服务器的数据,而无需启动事件。 我试图让我的应用程序支持双向聊天,一方面在xcode 7中从我的iOS模拟器发送/接收消息,另一方面在桌面web浏览器(firefox)中做同样的事情。 从两个部分创build的所有消息都成功注册在我的mongodb数据库(通过nodejs mongoose),但在iOs模拟器时,我devise了一个聊天界面,我需要重新启动模拟器,每次我想看到新的传入消息。 我的目标是:在iOs仿真器UI中实时显示来自firefox和iOS模拟器的所有传入消息,当然使用套接字。 当我从我的浏览器发送消息到我的iOs应用程序,应该立即显示这一个。 当我从iOs用户界面发送信息的时候是这样的,但是从Firefox发出的信息却不是这样。 请,我需要一些帮助,以了解我的代码有什么问题(分三部分): Xcode / Swift: import Foundation import UIKit class ViewTwo: UIViewController,UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate{ var lab : [String!] = []; var desc : [String!] = []; var dictionnary : [String:String!] = ["user": nil,"message" : nil]; var voidDict:[String:String!] = ["content" : "whatever"]; @IBOutlet var tableView: UITableView! @IBOutlet var txtField: […]

在Hapijs后端处理由Alamofire在Swift中发送的多部分/表单数据请求

我正在使用swift创build一个图像和video上传iOS应用程序。 我正在使用Alamofire库进行networking请求。 下面是用户select图像时快速运行的代码 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { dismissViewControllerAnimated(true, completion: nil) guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else { print("Did not get required image") return } guard let imageData = UIImageJPEGRepresentation(image, 0.8) else { return } Alamofire.upload(.POST, "http://localhost:8101/upload_request", multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: imageData, name: "image") }, encodingCompletion: { encodingResult […]

突出与中等应用相同的function

我想实现我的网站和移动应用程序的突出function。 我希望这个function与中型应用程序相同。 因此,如果用户从移动应用程序中突出显示一些文本,则会自动显示在网站上。 如果用户突出显示网站上的一些文字,则会自动显示在移动应用程序上。 以前我用rangy highlighter JavaScript库为网站和移动应用程序,但它提供了不同的范围,从双方。 所以我无法同步突出显示的数据。 例如 : 对于移动我得到以下范围 type:textContent|1362$1370$1$highlight$ 对于网站我得到以下范围 type:textContent|40576$40584$3$highlight$ 任何人都可以给我任何想法,我怎样才能我的IOS应用程序的突出显示的数据与网站同步?

我如何在移动设备上实现一个谷歌文档类应用程序?

我目前正在研究类似于Google文档的项目。 基本上,它允许多个用户在Web浏览器中一致地编辑Word文档。 我一直在纯javascript nodejs和socket.io广泛的工作。 基于Web的文本编辑器是从头开始使用HTML5,CSS和Javascript编写的。 我用shareJS(允许实时编辑的服务器和客户端库)处理操作转换(OT)。 我现在面临的挑战是移动开发,我通常希望为Android和iOS开发。 我不确定要做出正确的工作stream程和技术决策。 以下是我的想法: 如何将我的JavaScript应用程序合并到本机iOS / Android应用程序中? 我应该从头开始构build一个我在网上的精确克隆吗? 我的意思是在iOS(Swift)/ Android(Java)中构build我的web实现的副本。 当然,这意味着用本地语言重写我的文本编辑器和OT脚本。 那有意义吗? 我知道NativeScript和phonegap。 但是,当谈到移动时,我更倾向于使用母语。 有没有办法把我的JavaScript包装到Swift / Android为了调用我的JavaScript函数? 几个星期以来一直在想这个问题,思考如何去做这件事。 我想我需要其他参考框架的build议,想法和build议。 提前致谢

React Native – Packager非常慢

我有一个关于加快开发过程从本地反应的问题。 如果我通过terminal在项目根目录下运行react-native run-ios 。 一个新的terminal窗口popup,打包程序在8081端口上运行。打包程序也启动模拟程序。 包装说几秒钟后 React packager ready. [5:15:59 PM] <START> request:/index.ios.bundle?platform=ios&dev=true&minify=false [5:15:59 PM] <START> find dependencies 之后,模拟器连接到打包程序需要大约6-10分钟(在这段时间内,模拟器会抛出几次错误,导致他无法连接)。 但是,包装器初始化后,一切正常。 该应用程序已经启动,并连接到打包程序。 每当我安装新的模块(例如通过npm)或删除一些文件,我必须删除模拟器的应用程序,并且必须再次运行react-native run-ios 。 有时,当我只改变代码。 另一方面有时我可以改变代码,并可以在模拟器中通过CMD + R重新加载,一切都按预期工作。 我可以加速打包者,还是有什么我错过了重新加载? 我没有安装这么多的模块,这个项目刚刚开始(非常小)

Socket.io,redis和redis消息队列

我正在使用基于以下代码的SocketIO和Redis, var sub = redis.createClient(); var pub = redis.createClient(); sub.subscribe('chat'); io.use(socketHandshake({store: sessionStore, key:'jsessionid', secret:'secret', parser:cookieParser()})); io.on('connection', function (socket) { socket.on('chat', function (message) { // io.emit('chat', "hello world"); pub.publish('chat', "hello world"); }); sub.on('message', function (channel, message) { io.emit(channel, message); }); }); 这是基本代码。 我已经修改了代码,以便如果有任何用户下线,在服务器端,我在RSMQ(Redis简单消息队列)中存储消息,当用户上线时,消息从队列中提取并发送给用户。我已经使用下面的代码来实现这一点。我已经将用户状态存储在一个数组中。 var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var […]

如何在Firebase中安排通知和数据库修改?

我正在开发一个使用Firebase和Swift的iOS应用程序。 我有两个数据库节点,一个包含活动logging,另一个包含非活动logging。 我想安排一个任务,使得每天早上10点,来自非活动logging节点的logging被传送到活动logging节点,并向我的所有应用程序用户发送关于该节点的推送通知。 我怎样才能做到这一点? 谢谢。

Swift iOS应用程序不使用Socket.IO连接到服务器

我即将写一个非常简单的iOS应用程序。 我希望应用程序通过使用Socket.IO连接到服务器。 我已经为我的项目安装了Cocoapods的Socket.IO,一切进展顺利。 问题是我运行我的服务器,然后应用程序模拟器后,应用程序没有连接到服务器。 我没有得到任何types的错误消息或类似的东西,但是服务器应该在连接套接字时在控制台/terminal上打印消息。 这是套接字pipe理器类 import UIKit import SocketIO class SocketManager: NSObject { static let sharedInstance = SocketManager() override init() { super.init() } var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "localhost:3000")!) func establishConnection() { socket.connect() } func closeConnection() { socket.disconnect() } } 这是AppDelegeate类: import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func […]

使用socket.io中的每个socket.emit获取多个套接字响应

这里是我的代码示例,我正在使用单个套接字发出同一个用户的多个套接字响应。 有时在每个服务器重新启动时,它也会增加+1个增量。 …. socket.emit('groupmessage', { username: sender_id, server_chat_id:chat_id, user_message:"ownmessage", server_time:server_time, message: new_message, action: "ownmessage", temp: 'new' }); ….

发送APN返回BadDeviceToken,DeviceToken格式应该是什么?

我的后端将Node.js与Express.js结合使用,使用npm apn软件包(使用Apple的新提供者authentication令牌)处理APN。 iOS应用程序获得许可,并将收到的32字节设备令牌发送到后端,编码为base64string。 但是,当试图发送设备令牌(编码为ascii,utf8或base64)的推送通知时,APN服务器返回 – {"sent":[],"failed":[{"device":"….token….","status":"400","response":{"reason":"BadDeviceToken"}}]} 发送到APN服务器时,令牌格式应该是什么?