Tag: ios

是否可以将React Native与socket.io结合使用

我正在开发一个Phonegap + React.js和Socket.io的应用程序。 然而,那么React-Native就被释放了,原生的感觉是惊人的。 我试图让socket.io客户端与React Native工作,但不幸的是没有太多的成功。 我做了一些研究,并得到了与本问题中所述完全相同的错误: https : //github.com/facebook/react-native/issues/375 关于这个问题的评论说,尝试使用获取API来获取JS模块,但我认为我做错了: var socketScript; fetch('https://cdn.socket.io/socket.io-1.2.0.js') .then(function(response) { socketScript = response._bodyText; }).done(function() { var socket = socketScript.io(); }); 这返回一个undefined不是一个函数 。 有什么办法让socket.io-client与React Native一起工作吗? 还是我看着这个错误的方式? 也许还有其他更合适的解决scheme?

使用Angular.js和iOS客户端对Node.js应用程序进行身份validation

我试图尽可能多地阅读不同的答案和post,但是我仍然无法完全满足我的需求。 我正在努力制定出最好的(最有效的,但更加安全)的方式来处理用户身份validation,login等。 我有一个运行在Express上的Node.js服务器; 我有一个Angular.js的Web应用程序; 我有一个iOS应用程序。 我用Express / Node.js公开了一个RESTful API。 cookies 我读到的第一件事就是使用cookie,并在服务器端(哈希)和客户端(非哈希)存储会话ID /login令牌。 客户端会传输这个ID与每个请求,服务器将散列它,parsing它,并相应地处理请求。 这不感觉RESTful(不是一个大问题),但更重要的是,我将不得不复制我的API:一个用户名/密码authentication(例如通过curl完成)和一个基于cookie的authentication(如我的networking应用程序)? 另一个问题:如果我有一个用户的多个连接,我会做什么,例如,他们在两个浏览器,一个iPhone和一个iPadlogin。 我的存储他们的会议ids现在需要一个数组? HTTP基本身份validation 下一个想法是使用HTTP基本身份validation(使用SSL),这似乎很容易,但不推荐,因为您需要传输用户名和密码与每个请求。 如果我使用HTTP Basic Auth进行操作,那么我会将用户名和密码存储在Cookie(或HTML本地存储)中以允许“记住我”function吗? 或者我可以将两者结合起来:使用HTTP基本身份validation来实际请求(发布新post等),并使用存储在cookie中的会话标识来logging初始日志/记住我的方面? 传输会话ID比传输用户密码更安全吗? 怎么样? 会话ID将会表面上看起来像是一个密码,所以对我来说,传输密码会有和传输密码一样的安全问题。 基本身份validation似乎在所有平台上得到支持,这是理想的。 主要的缺点似乎是需要传输客户端身份validation数据与每个请求。 有没有办法来缓解这个问题? OAuth的 OAuth似乎是为了我的需要矫枉过正。 我想我会失去执行curl命令来testing我的API的能力。 OAuth如何改进cookie方法? 正如你可能知道的那样,我对可用的各种信息有点困惑,所以如果你有一套适用于这种情况的好链接,我很乐意阅读它们。 我试图find适合所有平台的解决scheme,但仍尽可能安全。 此外,如果我有任何我的术语错误,请纠正我,因为它会使我更容易search。 谢谢。 更新: 我一直在想这个问题,而且我有一个想法。 请告诉我,如果这是愚蠢的/不安全的/任何反馈,因为我不知道这是否是好的。 当用户login时,我们生成一个随机的会话ID(盐渍等)。 这个可选的会话ID被发送到客户端,如果他们select,客户端可以存储(例如在cookie中); 会话ID存储在数据库中。 然后,可以select将此会话标识作为HTTPvalidation标头或查询string与每个请求一起发送,也可以根据需要发送用户名和密码(这给了我们常规的REST API)。 在服务器端,我们首先检查会话ID参数,如果不存在,我们检查用户名/密码。 如果两者都没有错误。 在服务器上,我们检查会话ID是否与正确的用户名关联。 如果是,我们完成请求。 每次用户login时,我们都会创build一个新的会话ID或者删除当前的会话ID,并将这个响应发送给login请求。 我想这可以让我在适当的时候使用常规的REST API和基本身份validation,并保持会话/记住我的function。 它不能解决多个login问题,但否则我认为这种方式应该会。 请告诉我。

无法使用Node连接到iOS模拟器中的Mobile Safari

我试图在远程debugging(使用Node)时模拟Safari和Mobile Safari之间的消息交换。 我嗅了两人之间的交通。 他们正在通过TCP交换二进制plists。 我已经设法复制数据包,直到select一个特定的选项卡进行debugging(“套接字设置”),但在这之后,Mobile Safari忽略了我的plist指令,而是发回了一个列表。 以下是Safari发送的套接字设置数据包的原始tcpdump,以及它包含的plist的JSON表示: 10:36:42.318662 IP6 localhost.58028 > localhost.27753: Flags [P.], seq 1601:1930, ack 803, win 9125, options [nop,nop,TS val 69074378 ecr 69074378], length 329 0x0000: 6000 0000 0169 0640 0000 0000 0000 0000 `….i.@…….. 0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 ……………. 0x0020: 0000 0000 0000 0001 e2ac 6c69 […]

AFNetworking 2.0 – “不可接受的内容types:文本/纯文本”

我正在使用AFNetworking 2.0来从我正在构build的服务(现在在localhost上)中读取JSON。 很正常的东西。 Node正在发送JSON,如下所示: res.setHeader('Content-Type','application/json'); res.end( JSON.stringify(…)); 我的iOS第一遍代码试图读取像这样的数据: typedef void(^NextBlock)(); AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager GET:self.newestTimestampURL.absoluteString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { //NSDictionary *response = NSLog(@"got %@", responseObject ); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"fail %@", error ); }]; 这是我得到的错误: Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo=0xb783e30 […]

本机IOS应用程序和node.js

是否有可能与node.js创build一个本地的ios应用程序,是否有人有任何例子?