Articles of iOS

为我的服务器提供安全的Facebook身份validation

我想构建一个小型移动应用程序(Android和iOS)和一个带有REST Api的小后端服务器。 我的应用用户(Android或iOS)需要在Facebook上登录。 我通过使用facebooks mobile sdk来做到这一点。 登录成功后,facebook sdk将返回authentificationToken,现在位于用户智能手机上。 这个想法如下:每当我的应用程序需要一些数据时,应用程序将通过HTTPS与我的服务器后端(REST)连接。 例如:应用程序进行简单的HTTP GET并传递检索到的Facebook authenticationToken。 我的服务器获取此facebook authenticationToken并使用此令牌来确定用户是否经过身份validation并检索Facebook个人资料信息(名字,姓氏等)。 因此,服务器也与facebook联系,并为HTTP GET请求生成个性化响应。 我的问题是: 是否真的足以为每个REST API调用传递此facebookAuthentication令牌,以使服务器检索正确的关联Facebook用户? 我使用HTTPS,所以我猜,连接足够加密,对吧? 我想我需要一些签名机制,所以签署每个REST API调用(通过HTTPS)以确保仅从我的移动应用程序发送facebookAuthentication令牌。 我会通过使用带有SHA-1的RSA来签署任何REST API调用。 但是这种方法的问题是:客户端需要将私钥存储在App中的某个位置(用于签名请求),服务器知道公钥(用于签名匹配)。 它是否正确? 如果是的话,我认为这是一个很大的安全问题,因为移动应用程序(特别是android)可以被反编译以获取私钥。 如何在我的应用程序中安全地存储此私钥? 是否有其他可以推荐的签名系统? Bt:你知道一个适用于iOS和Android的好的RSA lib吗?

向连接到Wi-Fi网络的所有设备发送通知

有没有办法向连接到特定Wi-Fi网络的设备发送通知? 比如说,我有一个名为“我的Wi-Fi”的Wi-Fi网络,它不是安全的,任何人都可以连接。 公共网络。 可能有N个用户连接到“我的Wi-Fi”。 这些用户可以执行任何types的交易,比如在线支付。 现在,如果我想关闭或关闭“我的Wi-Fi”路由器或接入点,这些交易可能会失败。 因此,在关闭之前,我想向连接到“我的Wi-Fi”网络的所有用户发送文本通知。 (用户在他们的设备中没有任何types的应用程序来推送通知。) 这可能吗?

ionic update-notifier-cordova.json’您无权访问此文件

我试图在iOS上运行离子,但它会抛出错误。 发生了什么? ionic run ios /usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53 throw err; ^ Error: EACCES, permission denied ‘/Users/jiahongl/.config/configstore/update-notifier-cordova.json’ You don’t have access to this file. at Error (native) at Object.fs.openSync (fs.js:500:18) at Object.fs.readFileSync (fs.js:352:15) at Object.create.all.get (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:34:26) at Object.Configstore (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:27:44) at new UpdateNotifier (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:34:17) at module.exports (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:123:23) at checkForUpdates (/usr/local/lib/node_modules/cordova/src/cli.js:64:20) at cli (/usr/local/lib/node_modules/cordova/src/cli.js:114:5) at Object. (/usr/local/lib/node_modules/cordova/bin/cordova:41:1) 错误信息

在iOS或Android上开发WebKit的问题/错误

我即将开发一个支持触控的主要移动WebKit应用程序。 我正在寻找有关与基于桌面的标准浏览器不同的任何提示或建议。 例如: 在iOS上click事件不会向上传播到元素上的元素,除了某些情况(链接,输入,带有附加事件的元素等)。 Android WebKit不会为多点触控发出事件。 我知道这些。 还有其他一些问题吗? 你知道一些已知问题的清单吗?

Android如何将iOS中的异步任务组合在一起

我在iOS应用程序中有一个函数,它使用dispatch_group对多个rest请求进行分组: static func fetchCommentsAndTheirReplies(articleId: String, failure: ((NSError)->Void)?, success: (comments: [[String: AnyObject]], replies: [[[String: AnyObject]]], userIds: Set)->Void) { var retComments = [[String: AnyObject]]() var retReplies = [[[String: AnyObject]]]() var retUserIds = Set() let queue = dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0) Alamofire.request(.GET, API.baseUrl + API.article.listCreateComment, parameters: [API.article.articleId: articleId]).responseJSON { response in dispatch_async(queue) { guard let comments = response.result.value as? [[String: […]

服务器推送通知实现

组, 我计划将我自己的服务器推送通知服务器实现到Android / IOS应用程序。 因此,我的应用程序服务器(可以通过NodeJ实现)将联系Notification Server以将消息推送到设备。 所以我通过互联网浏览并find了以下现有的解决方案。 谷歌云消息传递 Apple推送通知服务 Firefox os推送通知 Microsoft推送通知服务 Q1) 在各自的网站上; 他们只通知了如何使用他们的通知服务器。 但是,我需要有关他们如何实现服务器推送的信息。 请告诉我; 他们是否遵循以下任何一项? 轮询 长期民意调查 流 服务器已发送事件 与客户端的TLS,SSL或TCP套接字连接 XMPP Q2) 以下两种方法声称虽然我的应用程序没有运行; 他们仍然可以向APP发送通知吗? 怎么可能? Apple推送通知服务 Firefox os推送通知 Q3) 在Firefox os推送通知; 他们已经告知他们正在避免保持活力以节省电池寿命。 我的问题是没有keep-alive如何确定连接是否仍然存在? Q4) 所有这些(GCM / APNS / FireFox OS)实现只是服务器端推送,并且不接受来自客户端的请求。 我对么? 所以我的服务器仍然需要处理推送消息以外的数百万设备请求,对吗? 如果我在自己的通知服务器和客户端设备之间使用websocket,我是否需要在应用程序服务器和客户端之间再维护一个websocket连接以接收来自设备的请求?

在方向更改后更改视口宽度后如何适合屏幕?

我需要页面的视口宽度为横向950px和纵向630px。 遗憾的是,这些像素宽度不灵活。 我正在使用CSS媒体查询根据方向调整DOM内容的宽度。 我正在侦听JS中的方向更改事件,以便在方向更改时调整视口大小。 初始页面加载(纵向或横向)上的一切看起来都很好。 但是,在方向更改后,Mobile Safari会保留先前的比例设置,而不是将视口拟合到屏幕。 双击或两次拉直。 但我需要这是自动的。 我已经附上了下面的源代码,并将其上传到了一个演示URL 。 以下是方向更改后拍摄的屏幕截图:从横向到纵向,从纵向到横向。 如何强制Safari自动将视口宽度设置为屏幕宽度? 或者我这样做错了吗? 更改视口中的各种比例设置没有帮助。 设置maximum-scale=1.0或initial-scale=1.0似乎覆盖我的width ,将width设置为device-width (即iPad 2上的1024或768),留下死边距空间。 设置minimum-scale=1.0似乎什么都不做。 iPad orientation ; /** * update viewport width on orientation change */ function adapt_to_orientation() { // determine new screen_width var screen_width; if (window.orientation == 0 || window.orientation == 180) { // portrait screen_width = 630; […]

编程中“厨房水槽”的确切含义是什么?

我读了很多次这个词“厨房水槽”,大多数时候我从github下载的东西,有一个名为“厨房水槽”的文件夹。 但我不知道这个的确切含义。 任何人都可以解释厨房水槽的含义是什么?

Android NSD(网络服务发现)是否与iOS中的Bonjour服务兼容?

我将为iOS和Android创建一个无服务器的本地网络应用程序。 iOS和Android设备中的应用程序应该find并相互通信。 我知道有平台内置服务(iOS版本的Bonjour和Android版本的v4.1中的NSD),此外,开源jmdns软件包也可以直接使用。 我不知道如何选择以及它们的兼容性如何。 我的问题是: Android NSD(网络服务发现)是否与iOS中的Bonjour兼容? 我应该在我的应用程序中用于服务发现。 如果我还为应用程序开发PC版本,是否需要使用第三方库?

将iPhone / iPad应用程序转换为Android

我已经开始使用iPhone SDK在iPhone和iPad上构建自己的应用程序。 客户经常询问的下一个问题是,“我们可以在Android上使用它吗?” 所以我对你的问题,’互联网’,是:我的选择是什么? 我没有时间学习另一种语言(学习iOS已经足够了!),那么有专门研究这种情况的公司,还是有任何在线服务进行转换? 对此欢迎任何帮助,只需要知道转向哪种方式……